TX その15 途中経過まとめ
JavaONEへ参加したり,他の優先度の高いやることが発生したりでしばらく間が空いてしまったJBossTXですがそろそろ再開.これを片付けないことにゃ,あるものが進まないんだよねぇ.
とりあえず久々で自分の頭からもだいぶ抜けてしまっているんで,これまでの経過を整理することから.
目標地点
- JBossTX実装を読み解いてエミュレーションコードを書くのに十分な情報を入手すること
やったこと
- XIDの生成およびXidFactoryについての調査
- スタートポイントとなるTransactionManagerの実装クラスの特定・・・TxManager.java
- TxManagerがCMTおよびBMTの双方から使われていることの確認.つまりCMTだろうがBMTだろうがTxManagerへの呼び出し以降は内部的には同じコードが実行されることの確認.いいかえればTxManager以降を明らかにすれば良いという仕切りの確定.
- TxManager、TransactionImplなどの関係
- JTA実装とJCA実装の連携(調査中)
とりあえずXIDが取っ掛かりだったんでこれをやった.次にアプリ側(EJB側)からたどっていって,TxManagerよりも上の層を片付けたといったところ.
ここから先でやらないといけないのは,XADataSourceインタフェースとかを実装しているクラスがどのようにしてXAResourceとして扱われて,XAResourceはどのようにしてTransactionImplへ突っ込まれる(enlistResource)されるのかかな.
そこまでやればエミュレーションコードを一通りかけるかもしれんね・・・.