See forum post:
I am the developer for a JCA 1.5 resource adapter named DTPRA. Note that DTPRA
works with WebSphere Application Server, WebLogic Application Server and JBoss
I needed to test DTPRA with the Sun App Server, so I downloaded Sun Java System
Application Server Enterprise Edition 9.1 (build b58g-fcs) to test DTPRA.
I am now testing transaction recovery, so I set automatic recovery to true.
That is, I have the following in my domain.xml:
<transaction-service automatic-recovery="true" heuristic-decision="rollback"
keypoint-interval="65536" retry-timeout-in-seconds="600" timeout-in-seconds="0"
When I start the App Server with this setting, the App Server hangs and it
Looking at trace output from DTPRA, it is clear that the following has happened:
1) The App Server called the ResourceAdapter.start method for DTPRA.
2) As part of DTPRA startup, DTPRA calls the App Server's XATerminator.recover
method to see if there are inbound transactions to recover.
The call to XATerminator.recover never returns. Apparently there is some sort
of deadlock in the App Server when a resource adapter calls
XATerminator.recover from the ResourceAdapter.start method.
This only occurs when automatic recovery is enabled.