I suppose you use a JBoss version <=4.2 because of the Tx manager.
AFAIK the GlobalId will be generated related to the settings of jboss-service.xml Tx-MBean, the local one I suppose is used for internal handling within this JVM.
But I suppose you want to know what business case is affected.
For this information you must have the thread information or the Exception if your logic try to use such outtimed transaction context.
Which version are you using? Also, the Xid is a standard format: it's all the "transaction id". Check out either the JTA standard or the X/Open XA standard documentation.
My version is 4.0.4. Actually, the reason of asking this question is that we sometimes discover this log message in the log file/console. In order to trace the origin, I need to understand to find out which part of code related to the transaction via the transaction id.
Because there are lots of transactional area in an application/software(i.e. tx.beign()..... tx.commit()). But we only got such transaction warning message in the log file, how can we identify the corresponding transactional area by the transaction id of the log message. I think most people are interested in this topic.
If any expert has this experience or idea, you are welcome to share your experience.
As I wrote before you should activate the thread information (%t for the appender pattern).
This will show you the thread where the transaction timed out, you have to look back for this thread to the beginning of your code.
Maybe the transaction takes too long because of GC, DB locks or other delays .
Assuming you mean JBossAS, then you should upgrade to a release that contains JBossTS since earlier implementations do not support recovery.