I am running a Glassfish server 3.1 that uses distributed transactions to an Oracle db using Oracle XA datasource and a JMS hub using active mq. When looking at active transactions I have hundreds of transaction that have a global transaction ID but shows as no transaction and are in an unknown state. I can not see in the logs why this is happening and would like to know how to clear these down. My concern is that theses transactions in this weird state may start to block other transactions. Any help would be most appreciated. I am a suppo开发者_高级运维rt person not developer so have no idea what the code is doing..
I believe this is a bug in Glassfish that causes transactions to go into a in doubt state if the transaction monitor is turned on.
To get the entries to purge themselves set the property
server-config.transaction-service.property.purge-cancelled-transactions-after = 0
This has fixed our issue.
精彩评论