[Seasar-user:11025] Re: TransactionSynchronizationRegistryについて
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 10月 16日 (火) 16:30:38 JST
小林 (koichik) です.
Date: Tue, 16 Oct 2007 11:49:06 +0900
From: Oishi Shingo <[E-MAIL ADDRESS DELETED]>
To: "'[E-MAIL ADDRESS DELETED]'" <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:11015] TransactionSynchronizationRegistryについて
> S2 AOP機能を使って、S2のトランザクションマネージャを利用しようとした場合、
> 上記 jta.dicon 中の記述は必須でしょうか?
必須ではありませんが,S2JTA を使用するなら
定義したままで問題ありません.
> 必要な場合、TransactionSynchronizationRegistry の具体的な役割をご説明いただければ
> ありがたいです。
JTA 仕様では曖昧ですが,TransactionManager は
アプリから利用する API ではなく,本来は SPI
(Service Provider Interface) であるという
話があります.
そのため,IBM WebSphere など一部の AP サーバでは
TransactionManager をアプリから使用すると
サポートを受けることができない場合があります.
しかし,Hibernate 等 JPA の実装では
TransactionManager の提供する機能の一部が
必要であるため,その部分を切り出してアプリから
利用できる API として追加されたのが
TransactionSynchronizationRegistry です.
> さらに必要な場合、上記に記載したとおり JTA1.0準拠のリソースマネージャ(この場合
> はJMS Server)と併用することは問題ありませんか?
JMS 側から見ると JTA1.1 は使わない
インタフェースが一つ増えてるだけなので
問題なく利用できます.
JTA の Jar も 1.1 を使って大丈夫です.
実際,S2JMS のサンプルでは JTA1.0 対応の
JMS 実装である Apache AcriveMQ や IBM WebSphere MQ と,
JTA1.1 対応の S2JTA の組み合わせで普通に動いています.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内