0

次のアーキテクチャがあります。

  • Base.war自己完結型のSpring-Hibernateアプリケーションになります
  • すべてのアプリケーションは Glassfish で実行され、クラスター化される場合があります
  • E1.warの上に座ってBase.war、その機能を拡張します
  • さらに拡張機能 ( E2.warE3.war、…) が上にある可能性があります。Base.war
  • いずれかの戦争がトランザクションを開始する可能性があり、トランザクションは戦争の間にまたがる可能性があります
  • シャットダウンせずBase.warに、またはその他のEx 、 y.warをアップグレードできるはずですE.war

spring-hibernate-glassfish 環境でこれに対する解決策はありますか?

4

1 に答える 1

2

自分自身/チームに尋ねる質問:

  1. データベースは XA をサポートしていますか?
  2. JDBC ドライバーは XA をサポートしていますか?
  3. Glassfish/データベース/JDBC の組み合わせは XA で動作しますか?
  4. 本当に分散トランザクションが必要ですか?

ポイント 4 に戻ります - 分散トランザクションを行わないでください。分散トランザクションが最適なソリューションであることを十分に確認する必要があります。簡単ではないので、可能であれば避けることをお勧めします。これは、Spring の共同設立者でありシニア開発者である Jürgen Höller の言葉です。

Spring はプロセス間でのトランザクションの伝播をサポートしていないため、これをサポートするにはコンテナーが必要になるか、自分で手動で行う必要があります。

于 2010-04-27T16:08:47.517 に答える