[Seasar-user:22027] Re: WAS8.5に対応するjta.diconの設定について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2015年 1月 12日 (月) 02:12:04 JST


小林 (koichik) です。

JTA (Java Transaction API) は仕様であり、
TransactionManagerはインタフェースです。

そのため、TransactionManagerの実装は複数
存在します。
このスレッドで出てくるものとしては、

・WASのTransactionManager

WASが内部で使用するTransactionManagerの実装です。
WASのコネクションプールと連携します。
使用するとIBMさんのサポートを受けることが
できなくなります。

・S2JTAのTransactionManager

Seasar2が提供するTransactionManagerの実装でFQNは
org.seasar.extension.jta.TransactionManagerImpl
です。
S2DBCPと連携します。
WASで使う必要はありません。
使用してもIBMさんのサポートとは「無関係」です。

・RestrictedTransactionManager

Seasar2が提供するTransactionManagerの実装でFQNは
org.seasar.extension.jta.RestrictedTransactionManagerImpl
です。
UserTransactionとTransactionSynchronizationRegistryに
処理を委譲します。
TransactionManagerが使えない環境 (WAS含む) に
互換性を提供するためのもので、基本的にアプリが
使うものではありません。
使用してもIBMさんのサポートとは「無関係」です。


繰り返しますが、Seasar2が提供する実装クラス
(org.seasar.〜) はIBMさんのサポートとは無関係です。
それらを使用してもWASに対するIBMさんのサポートを
受けられなくなることはありません。
WASを使用する上では意識する必要もほとんどありません。

IBMさんのサポートに関係があるのは、
「WASのTransactionManager」を使用するかどうか、
それだけです。

[Seasar-user:22025]は「WASにおいては〜」という
前提であるため単に「TransactionManager」と
書いていますが、全て「WASのTransactionManager」の
ことです。


そしてWAS用の設定ファイルとしては、

・jta-was50.dicon、jta-was51.dicon

「WASのTransactionManager」を使用します。
これらの設定ファイルを使用すると、IBMさんの
サポートを受けることができなくなります。

・jta-was6.dicon、jta-was7.dicon

「WASのTransactionManager」を使用しません。
UOWManagerを使用します。
これらの設定ファイルを使用しても、IBMさんの
サポートを受けられなくなることはありません。



On Sun, 11 Jan 2015 04:55:11 +0000, <futoshi.yoshizaki @ accenture.com> wrote:

> 小林さん
> 
> ご回答ありがとうございます。
> 
> インラインで返信で失礼します。
> 
> >>> 質問2:WAS8.5はJavaEE6対応のはずですが(※1)、UOWManagerの対応は必要なのでしょうか。
> 
> >>前述のように、TransactionManagerはアプリが利用する
> >>APIではなく、WASの内部で利用するSPIというのが
> >>IBMさんの立場なので、UOWManagerを使うしかありません。
> >># WAS8以降で変わってなければ
> 
> >http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/cjta_extjta.html?cp=SSAW57_8.5.5%2F1-2-22-0-9&lang=ja
> >
> >ドキュメントを見る限り、WAS8.5でもjta-was7.diconが
> >そのまま使えるように見えます。
> 
> 「TransactionManagerはアプリが利用するAPIではなく、WASの内部で利用するSPI」という
> IBMさんの立場はWAS8以降で変わっていないため、UOWManagerを使うしかない。
> そのため、transactionManagerコンポーネントを
> jta-was7.diconのorg.seasar.extension.jta.RestrictedTransactionManagerImplでなく、
> org.seasar.extension.jta.TransactionManagerImplでインジェクションするような設定は、
> 正しく動作しないということですね。
> 
> 小林さんの見解としては、仰っている通り、「WAS8.5でもjta-was7.diconが使えるはず」ということですね。
> 参考にさせて頂きます。
> 
> あと、あまりWAS8.5の対応と関係ない質問で申し訳ありませんが、
> 少し疑問に感じるため、確認させて頂きます。
> 
> 下記ドキュメントの注1に関して確認です。
> 「これらの設定ファイルはJTA TransactionManagerを使用しますが,これはIBM社のサポート対象外です. IBM社のサポートが必要な場合は,これらの設定ファイルは使用しないで,代わりにjta-10.diconを使用してください.」
> http://s2container.seasar.org/2.4/ja/transaction.html
> 
> この注1は、WASのversion 4.0, version 5.0, version 5.1および6.0.2.18以前および6.1.0.8以前に対して注記されていますが、
> version 6.0.2.19以降および6.1.0.9以降, version 7 以降に関しては注記されていません。
> 
> http://ml.seasar.org/archives/seasar-user/2015-January/022025.html
> 
> しかしながら「Seasar-user:22022」にて、少なくともversion 7 以降までは
> 「WASのTransactionManagerを使うとIBMさんのサポートを受けられなくなる」と仰られていましたが、
> version 6.0.2.19以降および6.1.0.9以降, version 7 以降に関して、注1の注記がなされていないのは、
> org.seasar.extension.jta.RestrictedTransactionManagerImplに、IBMさんのサポート対象外とならないような調整がなされているということでしょうか。
> 
> 
> 蛇足ですが、WAS6.1.0.7(6.1.0.8以前)で稼働する際は、IBM社のサポート対象にしたかったため、
> jta-10.diconを使用していました。但し、トランザクションのあるAPIが始まる直前でトランザクションのコミットを
> 済ませるという要件があったため、カスタマイズしてorg.seasar.extension.tx.adapter.JTAUserTransactionAdapterの子クラスを用意し、
> JTA の UserTransaction を利用する TransactionManagerAdapterに、その子クラスをインジェクションして使っていました
> (厳密なREQUIRES_NEWではなく、コミット後のトランザクションで異常終了が起きれば、ロールバックして後続処理は中止するという仕様なので、それで問題がありませんでした)。
> ※WAS6.1.0.7に関しては、もう済んだことなので、小林さんのコメントを頂戴できなくても結構です。軽く流していただきますようお願いします。
> 
> 
> 以上です。
> 
> ________________________________
> 
> This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy.
> ______________________________________________________________________________________
> 
> www.accenture.com
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user


-- 
{
  name: "Koichi Kobayashi",
  mail: "koichik @ improvement.jp",
  blog: "http://d.hatena.ne.jp/koichik/",
  twitter: "@koichik"
}



Seasar-user メーリングリストの案内