41

私はJTAを初めて使用し、それは基礎となるトランザクションマネージャーです。これらのそれぞれの長所/短所を説明できる人はいますか? タイトルにリストされていない他のものを自由に追加してください.

また、主要なアプリケーション サーバー (WebSphere、JBoss、Glassfish) には独自の JTA 準拠のトランザクション マネージャーがありませんか? それらの環境で、これらのサードパーティの実装を引き続き使用しますか?

4

2 に答える 2

51

私はJTAを初めて使用し、それは基礎となるトランザクションマネージャーです。これらのそれぞれの長所/短所を説明できる人はいますか? タイトルにリストされていない他のものを自由に追加してください.

私が知っているスタンドアロンのトランザクション マネージャーには、BitronixSimpleJTATyrex (死んだ?)、JOTM (Jonas で使用)、GeronimoTM/Jencks (Geronimo で使用)、JBossTS (JBoss で使用)、 Atomikosなどがあります。

私はそれらすべてを広範囲にテストしたことはありません (これは、1 つを選択する必要がある場合に行う必要があることです) ため、完全な長所/短所を提供することはできません (それにはいくつかの作業が必要になります)。しかし、ここにいくつかのリンクがあります:

念のため、ここに私の非常に個人的な見解を示します。

  • 私は JOTM について多くの不満を見てきました。
  • GeronimoTM/Jencks にはドキュメントが不足していると思います。
  • SimpleJTA は JTS を実装しておらず、アクティブではありません。
  • Bitronix は適切なドキュメントですが、サポートは提供していません。
  • Atomikos は印象的な製品であり、十分に文書化されており、サポートも提供しています。
  • JBossTS 別名 ArjunaTS は間違いなく成熟した製品であり (歴史については買収の発表を参照)、サポートを提供します。

個人的には、Atomikos と JBossTS を候補に挙げて、いずれかを選択する必要がある場合はハードコアでテストします。

また、主要なアプリケーション サーバー (WebSphere、JBoss、Glassfish) には独自の JTA 準拠のトランザクション マネージャーがありませんか?

もちろんそうです。JTA は Java EE 仕様の一部であり、Java EE サーバーはそれをサポートする必要があります。

それらの環境で、これらのサードパーティの実装を引き続き使用しますか?

いいえ、提供されているトランザクション マネージャーを使用します (単純化、サポートなどのため)。

于 2010-06-04T23:30:17.733 に答える
7

Atomikos と JOTM を Jetty でテストしました。Atomikos は問題なく動作したので、完全にお勧めします。たとえば、アプリケーションで分散トランザクションをテストするための自動化された単体テストを作成しましたが、これらのテストは正常に機能しました。

JOTM に関する限り、少なくとも時々 2 フェーズ コミット プロトコルを偽造していると確信しています。2 フェーズ コミット機能を無効にした PostgreSQL データベースを使用していたので、JOTM は実際の分散トランザクションと同じように機能しました。実際のトランザクション マネージャ (GlassFish で実装されているものなど) は、このような場合にエラーを報告しました。

必要に応じて、アプリケーションで JPA2 と Hibernate 4 を使用しました。

于 2012-02-16T21:19:35.683 に答える