バーラト;
これらは異なるオブジェクトインスタンスですが、トランザクションマネージャーは1つだけです。表示されているのは、内部Arjunaトランザクションマネージャーコアの2つの異なるラッパー/プロキシです。このコードは、2つの異なるプロキシから現在のトランザクションを取得しますが、実際のトランザクションのUUIDは同じです。
def txManager = mbeanserver.getAttribute(JMXHelper.objectName("jboss:service=TransactionManager"), "TransactionManager");
TX.exec({
println txManager.getTransaction();
println mbeanserver.getAttribute(JMXHelper.objectName("jboss:service=TransactionManager"), "UserTransaction");
assert mbeanserver.getAttribute(JMXHelper.objectName("jboss:service=TransactionManager"), "UserTransaction").toString().replace("Transaction: ", "").equals(txManager.getTransaction().toString())
println "Timeout:${txManager.getTransactionTimeout()}";
});
txManager.setTransactionTimeout(200);
TX.exec({
println txManager.getTransaction();
println mbeanserver.getAttribute(JMXHelper.objectName("jboss:service=TransactionManager"), "UserTransaction");
assert mbeanserver.getAttribute(JMXHelper.objectName("jboss:service=TransactionManager"), "UserTransaction").toString().replace("Transaction: ", "").equals(txManager.getTransaction().toString())
println "Timeout:${txManager.getTransactionTimeout()}";
});
出力:
TransactionImple <ac、BasicAction:ae60d43:d590:4ffc7013:265841 status:ActionStatus.RUNNING> Transaction:TransactionImple <ac、BasicAction:ae60d43:d590:4ffc7013:265841 status:ActionStatus.RUNNING> Timeout:200 TransactionImple <ac、BasicAction:ae60d43 :d590:4ffc7013:265842ステータス:ActionStatus.RUNNING>トランザクション:TransactionImple <ac、BasicAction:ae60d43:d590:4ffc7013:265842ステータス:ActionStatus.RUNNING>タイムアウト:400