Ok, with Derby things seem to work as expected. Once the JVM exits, the database tables become accessible (so I assume the associated transaction is aborted and db locks released).
There is one minor annoyance, however, that doesn't make me very confident...if I set a transaction timeout on the UserTransaction, the following message appears in the log repeatedly (until I shut down the app server):
Incomplete transaction recovery is not requeired, waiting for the next interval
TimeoutManager.timeoutCoordinator():case ACTIVE_TIMEOUTRecoveryManager.getLocalCoordinator() returned non-null,which means txn is still around. Marking for Rollback thetransaction...: GTID is : 020000009906046A54333430302D342C5431323433303234313936303233
In any case, I really would like to get it working with SQL Server...any thoughts? Ideas where to look next for tracing down the failure?
[Message sent by forum member 'christopherrued' (christopherrued)]
http://forums.java.net/jive/thread.jspa?messageID=347367