[jboss-user] [IronJacamar] - Re: JCA Spec violation using resource-adapter in JBoss 7?

Jeff Steidl do-not-reply at jboss.com
Thu Feb 28 18:35:29 EST 2013


Jeff Steidl [https://community.jboss.org/people/jsteidl] created the discussion

"Re: JCA Spec violation using resource-adapter in JBoss 7?"

To view the discussion, visit: https://community.jboss.org/message/800173#800173

--------------------------------------------------------------
To quickly see the problem, search the log summary jleinawe provided (tempm.txt) for "xaResourceWrapper2".  The first three instances are:

in:managedConnectionImpl0.getXAResource() -> xaResourceWrapper2 #1 @1362075193107..1362075193110
[...]
in:xaResourceWrapper2.start(xid3,2097152) #6 @1362075193148..1362075193161
[...]
in:xaResourceWrapper2.start(xid5,2097152) threw #8 @1362075193570..1362075193577

As you can see, the app-server gets this XAResource from the RA, then calls XAResource.start on it multiple times in a row without calling XAResource.end in between (which is why the RA throws an exception the second time xaResourceWrapper2.start is called).  If you keep searching for "xaResourceWrapper2", you'll see several more calls to XAResource.start, but no calls to XAResource.end.

If you then search from the top of the log summary for "xid3", you'll find the following calls made to the RA ("in:" calls):

in:xaResourceWrapper0.start(xid3,0) #4 @1362075179562..1362075179570
[...]
in:xaResourceWrapper2.start(xid3,2097152) #6 @1362075193148..1362075193161
[...]
in:xaResourceWrapper0.end(xid3,67108864) #4 @1362075193388..1362075193396
[...]
in:xaResourceWrapper0.commit(xid3,true) #4 @1362075193397..1362075193438

You can see that while the app-server is ending the association for xaResourceWrapper0 before committing the transaction, it is failing to do so for xaResourceWrapper2.

This line shows that wlConnection0 is the connection handle being used for managedConnectionImpl0:

   in:managedConnectionImpl0.getConnection(null,connectionRequestInfoImpl0) -> wlConnection0 #1 @1362075193164..1362075193199

And if you look at wlConnection0 being closed:

   in:wlConnection0.close() #1 @1362075193351..1362075193382
      out:Connection.stop() #1 @1362075193356..1362075193361
      out:XAResource.end(xid3,67108864) #4 @1362075193364..1362075193368
      out:ConnectionEventListener.connectionClosed(javax.resource.spi.ConnectionEvent[source=OracleJMSConnector.ManagedConnectionImpl.adc2100774.us.oracle.com.-2ebdb17:13d22011ace:-7ffb.20]) #1 @1362075193372..1362075193379
out:MessageEndpoint.afterDelivery() #4 @1362075193386..1362075193444

you'll see that the RA is calling ConnectionEventListener.connectionClosed, but the app-server is failing to delist xaResourceWrapper2 in response (as the JCA spec requires).  [Note that the "out:XAResource.end" call above is for a secondary JMS provider XAResource used internally by the RA, and is not the same as xaResourceWrapper2.]

Since the above lines are grabbed as-is (except for indent) from tempm.txt, you can see those calls in context by searching for them in that file.
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/800173#800173]

Start a new discussion in IronJacamar at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2098]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20130228/1278ab3b/attachment.html 


More information about the jboss-user mailing list