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]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to