2005-07-01から1ヶ月間の記事一覧
エミュレーションコード public void testTxManager() throws Exception { String url = "jdbc:mysql://localhost:3306/test"; Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = (com.mysql.jdbc.Connection) DriverManager.getCon…
あとはこれだけかな. TransactionManagerに対してbeginを行わないとTransactionContextが生成されない. XAResourceはTransactionContextが保持する. つまりbeginした後じゃないとXAResourceをenlistできない. で,誰がいつどのようにして行っているのか…
とりあえず"*.java" "enlistResource"で引っかかった奴から. org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListenerクラスのenlistメソッドが呼ばれたとき org.jboss.ejb.plugins.inflow.MessageEndpointInterceptorクラス…
以前「大量のクラスコメントがある」と日記に書いた際についでに作ったTxConnectionManagerのクラスコメントの乱雑和訳 LocalTxConnectionManagerは,LocalTransactionをサポートするJCAアダプタを管理するためのConnectionManager実装である. LocalTxConne…
JavaONEへ参加したり,他の優先度の高いやることが発生したりでしばらく間が空いてしまったJBossTXですがそろそろ再開.これを片付けないことにゃ,あるものが進まないんだよねぇ.とりあえず久々で自分の頭からもだいぶ抜けてしまっているんで,これまでの…
こいつをさくっとenlistしちゃえばいいのかな? public class MysqlXAConnection extends MysqlPooledConnection implements XAConnection, XAResource {もうちょい調べます.
その14で書いた またTxManagerにはTransactionインスタンスのsetterメソッドは無い.従ってThreadLocalにTransactionインスタンスを持ったThreadInfoを突っ込んでおかないといけない.TxManagerをnewして何もしないでgetTransaction()を呼ぶとnullが返る. …
TxManager.associateThreadメソッド public void associateThread(Transaction transaction) { if (transaction != null && !(transaction instanceof TransactionImpl)) throw new RuntimeException("Not a TransactionImpl, but a " + transaction.getClas…