続・S2 の JTA について

id:shot6 さんの情報によると,JBoss はやはりロールバック時には Synchronization#beforeCompletion() を呼び出していないとのこと.


WebLogic について調べてみたら,ドキュメントにこんな記述が.

  • トランザクション マネージャがアプリケーション サーバにステータスおよび同期の情報を提供するためのインタフェースである javax.transaction.Statusjavax.transaction.Synchronization。これらのインタフェースは、トランザクション マネージャによってのみアクセスされ、アプリケーション プログラムの一部として使用することはできません。

...
マジですか? ちなみに 9.0 でも同じように書いてあったり.
ともあれ (JW),Hibernate Forums によると WebLogic でもロールバックでは Synchronization#beforeCompletion() を呼ばないみたい.


そして WebSphere なんですが,こいつは JTA の拡張を提供するらしいんですが,その中に Synchronization の拡張も含まれていて,その説明のところでロールバック時には beforeCompletion() は呼び出されないと書いてありました.なので,JTA でも同じではないかと.


そんなわけで (どんなわけで?),主要なアプリケーションサーバは概ねロールバックSynchronozation#beforeCompletion() を呼び出さないと思われますので,S2 の JTA もそうしたいと思います.
IBM JDK 1.4.1 で S2AOP がうまく動かない件とあわせて明日の夜にリリースの予定ということで.


これで影響あるのが S2Hibernate と S2Cayenne です.これらをお使いの方はご注意ください.
S2Hibernateid:kenichi_okazaki さんと対応方法について相談済みなので,早い段階で対応版がリリースされると思います.
id:aua4io さん,S2Cayenne の対応お願いします!!