私はJTAを初めて使用し、それは基礎となるトランザクションマネージャーです。これらのそれぞれの長所/短所を説明できる人はいますか? タイトルにリストされていない他のものを自由に追加してください.
また、主要なアプリケーション サーバー (WebSphere、JBoss、Glassfish) には独自の JTA 準拠のトランザクション マネージャーがありませんか? それらの環境で、これらのサードパーティの実装を引き続き使用しますか?
私はJTAを初めて使用し、それは基礎となるトランザクションマネージャーです。これらのそれぞれの長所/短所を説明できる人はいますか? タイトルにリストされていない他のものを自由に追加してください.
また、主要なアプリケーション サーバー (WebSphere、JBoss、Glassfish) には独自の JTA 準拠のトランザクション マネージャーがありませんか? それらの環境で、これらのサードパーティの実装を引き続き使用しますか?
私はJTAを初めて使用し、それは基礎となるトランザクションマネージャーです。これらのそれぞれの長所/短所を説明できる人はいますか? タイトルにリストされていない他のものを自由に追加してください.
私が知っているスタンドアロンのトランザクション マネージャーには、Bitronix、SimpleJTA、Tyrex (死んだ?)、JOTM (Jonas で使用)、GeronimoTM/Jencks (Geronimo で使用)、JBossTS (JBoss で使用)、 Atomikosなどがあります。
私はそれらすべてを広範囲にテストしたことはありません (これは、1 つを選択する必要がある場合に行う必要があることです) ため、完全な長所/短所を提供することはできません (それにはいくつかの作業が必要になります)。しかし、ここにいくつかのリンクがあります:
念のため、ここに私の非常に個人的な見解を示します。
個人的には、Atomikos と JBossTS を候補に挙げて、いずれかを選択する必要がある場合はハードコアでテストします。
また、主要なアプリケーション サーバー (WebSphere、JBoss、Glassfish) には独自の JTA 準拠のトランザクション マネージャーがありませんか?
もちろんそうです。JTA は Java EE 仕様の一部であり、Java EE サーバーはそれをサポートする必要があります。
それらの環境で、これらのサードパーティの実装を引き続き使用しますか?
いいえ、提供されているトランザクション マネージャーを使用します (単純化、サポートなどのため)。
Atomikos と JOTM を Jetty でテストしました。Atomikos は問題なく動作したので、完全にお勧めします。たとえば、アプリケーションで分散トランザクションをテストするための自動化された単体テストを作成しましたが、これらのテストは正常に機能しました。
JOTM に関する限り、少なくとも時々 2 フェーズ コミット プロトコルを偽造していると確信しています。2 フェーズ コミット機能を無効にした PostgreSQL データベースを使用していたので、JOTM は実際の分散トランザクションと同じように機能しました。実際のトランザクション マネージャ (GlassFish で実装されているものなど) は、このような場合にエラーを報告しました。
必要に応じて、アプリケーションで JPA2 と Hibernate 4 を使用しました。