検索

12.5.2. JTA トランザクションのライフサイクル

download PDF
リソースがトランザクションへの参加を要求すると、一連のイベントが開始されます。Transaction Manager は、アプリケーションサーバー内に存在するプロセスであり、トランザクションを管理します。トランザクションの参加者は、トランザクションに参加するオブジェクトです。リソースは、データソース、JMS 接続ファクトリー、または他の JCA 接続です。
  1. アプリケーションは新しいトランザクションを開始します。

    トランザクションを開始するために、アプリケーションは JNDI から (EJB の場合はアノテーションから) UserTransaction クラスのインスタンスを取得します。UserTransaction インターフェースには、トップレベルのトランザクションを開始、コミット、およびロールバックするメソッドが含まれています。新規作成されたトランザクションは、そのトランザクションを呼び出すスレッドと自動的に関連付けされます。ネストされたトランザクションは JTA ではサポートされないため、すべてのトランザクションがトップレベルのトランザクションとなります。
    UserTransaction を呼び出します。begin()アノテーションを使用すると、EJB メソッドが呼び出されたときにトランザクションが開始されます (TransactionAttribute ルールによって駆動されます)。この時点以降に使用されたリソースは、このトランザクションと関連付けられます。2 つ以上のリソースが登録された場合、トランザクションは XA トランザクションになり、コミット時に 2 フェーズコミットプロトコルに参加します。
    注記
    UserTransaction オブジェクトは、BMT トランザクションにのみ使用されます。CMT では、UserTransaction オブジェクトは許可されていません。
  2. アプリケーションが状態を変更します。

    次のステップでは、アプリケーションがその作業を実行し、その状態を変更します。
  3. アプリケーションはコミットまたはロールバックの実行を決定します。

    アプリケーションの状態の変更が完了すると、アプリケーションはコミットするか、またはロールバックするかを決定します。UserTransaction のいずれかの適切なメソッドを呼び出します。commit()または UserTransactionrollback()
  4. トランザクションマネージャーは、そのレコードからトランザクションを削除します。

    コミットまたはロールバックが完了すると、トランザクションマネージャーはレコードをクリーンアップし、トランザクションに関する情報をトランザクションログから削除します。

障害回復

障害回復は自動的に行われます。リソース、トランザクションの参加者、またはアプリケーションサーバーが使用できなくなった場合は、障害が解決され、リソースが再度使用できるようになったときにトランザクションマネージャーがリカバリーを実行します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.