2016-10-08 24 views
1

JPAモデルクラスと対応するpersistence.xmlを含む複数のバンドルを持つOSGiプロジェクトがあります。すべてのPUはトランザクション型としてJTAを使用し、同じデータベースに接続します(同じデータソースを使用します)。JPAの複数永続性永続ユニットとJTAトランザクション

エンティティを操作するとき、私は異なるEntityManagersを使用していますが、XADataSourceを使用している限り、すべてが正常に動作しています。私は今、同じデータベースを使用し、同じトランザクションマネージャXAトランザクションは必要ではないので、私の考えはそれです。私が普通のDataSourceに切り替えると、私はロールバックの場合に不一致が見え始めます。

仕様を調べましたが、これに関連するものは見つかりませんでした。 XAトランザクションがそのような設定の一部として必要とされるかどうかは誰にでも分かりますか?

おかげで、 フィリップ

答えて

1

あなたが別の永続性ユニットを使用する場合は、各データベースへの独自の接続を持っています。したがって、同じデータソースを使用しても、同じトランザクションは使用されません。だから私はこれがロールバック中に問題を起こすかもしれないと思う。

jtaでは、トランザクションは異なる接続にまたがることができます。

+0

ありがとうございます。公式仕様書のどこかでこれを見ることはうれしいでしょう。 OSGiでこのようなことをするのはいつも難しいので、セットアップのためか、それともこのように動作するはずなのかどうかは分かりません:) – smigfu

+0

OSGiのjpaとjtaの話題は、かなり複雑ですOSGi)。考慮すべき事柄がたくさんあるので、これを改善する方法がわからない。 –

関連する問題