[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 メーリングリストの案内