[Seasar-user:21581] Re: WebSphere環境でトランザクションのresume, suspendがサポートされない

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2013年 4月 2日 (火) 21:30:00 JST


小林 (koichik) です.

>  1.対応予定はあるかどうか

ありません。
トランザクションの suspend/resume をするには
TransactionManager が提供する API を使う必要が
ありますが、WAS では TransactionManager は
サポート対象外 (存在するが、使うとサポートを
受けられない) です。
代わりに WAS 独自の UOWManager を使う必要が
ありますが、これは suspend/resume ができません。

また、TransactionSynchronizationRegistry は
suspend/resume とは関係がありません。
これはトランザクションがコミットまたはロールバック
された時に呼び出されるコールバックを登録するだけです。


>  2.resume、suspendの代替手段について

RequiresNew を使ってください。

Hibernate との関連は意味が分かりません。
通常の使い方で Hibernate が suspend/resume を
呼び出すことがあるとは思えませんが。。。


On Tue, 2 Apr 2013 15:43:43 +0900 (JST), "Y.Uzawa" <uzawa @ worksap.co.jp> wrote:

> お世話になっております。鵜澤です。
> 
>  s2-extensionに同梱されているWebSphere用のjta-was6.dicon, jta-was7.dicon
>  を利用する場合、トランザクションマネージャの実態は
> 
>    RestrictedTransactionManagerImpl
> 
>  ですが、このトランザクションマネージャはresume, suspendをサポートして
>  いないと思います。この件に関して質問させてください。
> 
>  1.対応予定はあるかどうか
> 
>   TransactionSynchronizationRegistryを内部で利用していらっしゃるので
>   対応すること自体はできると思いますが、なにかポリシーがありますでしょうか?
> 
>  2.resume、suspendの代替手段について
> 
>   代替と言うかそもそも、これらのAPIを利用する場合はコンポーネントを
>   j2ee.requiresNewTxでアスペクトして利用するのが正しいということ
>   でしょうか。
> 
>   しかしながら、HibernateがこれらのAPIを利用しているので、もしHibernate
>   がこれらのAPIを利用するようなシーンの場合に、問題があるのではないかと
>   考えています。(Hibernateでどのようなシーンで必要とされるかまでは
>   わかっていないですが。)
> 
> 以上よろしくお願いいたします。
> _______________________________________________
> 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 メーリングリストの案内