Closed arinban closed 14 years ago
@arinban Commented
@arinban Commented @arinban Commented
@arinban Commented @arinban Commented @glassfishrobot Commented Reported by binod
@arinban Commented @arinban Commented @glassfishrobot Commented binod said: XAResource implementation of the MQ series JMS client library seems to have an issue. It executes isSameRM method based on the name of Queue Manager. Now, for the test case that is relevent, both inbound and outbound communicaton had used same queue manager.
To support XA semantics properly, the MQ series should have supported XAResource.start(xid, XAResource.TMJOIN) for the second resource in the transaction with same branch id. Now this is not the case.
Google further confirms that the doubts are valid. http://wldj.sys-con.com/read/42825.htm
Following the solution provided.
All resource adapter objects (RA, MCF, AdminObject, ActivationSpec) etc will support a new property called RMPolicy. This property as of today has two valid String values
1. "ProviderManaged" : Indicating that RM polcy is managed by JMS provider. This is the default.
2. "OnePerPhysicalConnection" : This means that there is one RM per physical connection. RA will make sure that this is the case.
The implementaton of "OnePerPhysicalConnection" RMPolicy overrides isSameRM method of XAResource of JMS provider and returns a boolean based on whether the physical connection associated with XAResource are equal or not.
@arinban Commented @arinban Commented @glassfishrobot Commented binod said: Solution is checked in as per my earlier comment.
Changed files are
A java/com/sun/genericra/AbstractXAResourceType.java M java/com/sun/genericra/GenericJMSRAProperties.java A java/com/sun/genericra/XAResourceType.java M java/com/sun/genericra/inbound/DeliveryHelper.java M java/com/sun/genericra/inbound/InboundXAResourceProxy.java A java/com/sun/genericra/inbound/SimpleXAResourceProxy.java M java/com/sun/genericra/outbound/ManagedConnection.java M java/com/sun/genericra/outbound/XAResourceProxy.java
@arinban Commented @arinban Commented @glassfishrobot Commented binod said: Adding fixed1.0 keyword
@arinban Commented @arinban Commented @glassfishrobot Commented Was assigned to binod
@arinban Commented @arinban Commented @glassfishrobot Commented This issue was imported from java.net JIRA GENERICJMSRA-5
@arinban Commented @arinban Commented @glassfishrobot Commented Marked as fixed on Sunday, September 5th 2010, 8:21:08 pm
When stress.queue test is exeuted against MQ series, the MDB starts hanging. A detailed explanation of the issue is available at http://www.mqseries.net/phpBB2/viewtopic.php?t=23588
Here is the relevent stacktrace.