Java Transaction API

Java Transaction APIの最新ニュースをまとめて検索!

Java Transaction API(JTA)とは、Java EEAPIの1つであり、XAリソース間の分散トランザクション処理を扱う。JTA は Java Community Processで JSR 907 として開発された仕様である。JTA は以下を提供する:

  • トランザクション境界の設定
  • X/Open XA API を使ったトランザクション処理

目次

[編集] X/Open XA アーキテクチャ

X/Open XA アーキテクチャの概念図

X/Open XA アーキテクチャでは、トランザクションマネージャ(あるいはTPモニター)がデータベースなどの複数リソース間のトランザクションを調整する。各リソースにはマネージャが対応している。リソースマネージャは一般にリソースを操作するための独自APIを持ち、例えばリレーショナルデータベースでは JDBC API が使われる。さらに、TPモニターは複数のリソースマネージャ間の分散トランザクションの調整を行う。そして、アプリケーションはTPモニターと通信し、TPモニターにトランザクション群の開始/コミット/ロールバックを指示する。また、アプリケーションは個々のリソースマネージャとも独自APIで通信し、リソースの更新などを行う。

[編集] JTA の実装

JTAの概念図

JTA API は2つのJavaパッケージにあるクラス群で構成される:

JTA は X/Open XA アーキテクチャに基づいているが、トランザクション境界を設定するために2つのAPIを定義している。JTA では EJBサーバのようなアプリケーションサーバとその上のアプリケーションコンポーネントを区別する。アプリケーションサーバがトランザクションの開始/コミット/ロールバックを指示するためのインターフェイスとして javax.transaction.TransactionManager がある。また、サーブレットEJB がトランザクションを管理するためのインターフェイスとして javax.transaction.UserTransaction がある。右の図は X/Open XA インターフェイスとして使われる JTA のクラスを示している。

JTA アーキテクチャでは、各リソースマネージャ上に javax.transaction.xa.XAResource インターフェイスを実装してTPモニターから制御できるようにする必要がある。前述したように各リソースマネージャには以下のような固有のAPIがある。

  • リレーショナルデータベース用: JDBC
  • メッセージングサービス用: JMS
  • 汎用EIS(企業情報システム)リソース用: Java EEコネクターAPI

[編集] Java Transaction Service

Java Transaction ServiceJTS)とは、JTAを使ったトランザクションマネージャの実装である。CORBAアーキテクチャに基づいており、複数のJTS間のトランザクションの伝播にはIIOPを使う。Java EEアプリケーションサーバはJTSの実装が必須とされている。

[編集] 外部リンク

ウィキブックス
ウィキブックスJava関連の教科書や解説書があります。

最終更新 2009年9月16日 (水) 02:21 (日時は個人設定で未設定ならばUTC)。
【Java Transaction API】変更履歴

ご利用上の注意