Java Transaction APIとは? わかりやすく解説

Java Transaction API

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/09/26 04:09 UTC 版)

Jakarta Transactionsは、Eclipse Foundationが開発している、XAリソース間の分散トランザクション処理を扱うJavaAPIで、Jakarta EE Platformに含まれている。Java 8までは、Java Platform, Enterprise Editionの一部で、Java Transaction API (JTA) という名称だった。

JTAは以下を提供する:

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

沿革

  • 2002年11月6日 - Java Transaction API 1.0[1]
  • 2007年2月14日 - Java Transaction API 1.1
  • 2013年6月17日 - Java Transaction API 1.2
  • 2018年4月2日 - Java Transaction API 1.3
  • 2019年8月2日 - Jakarta Transactions 1.3。Jakarta EE 8 に含まれる。[2]
  • 2020年10月8日 - Jakarta Transactions 2.0。Jakarta EE 9, 10, 11 に含まれる。パッケージ名が javax.transaction から jakarta.transaction に変更になった。[3]

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(企業情報システム)リソース用: Jakarta EE コネクター API

Java Transaction Service

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

脚注

  1. ^ The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 907”. jcp.org. 2025年9月25日閲覧。
  2. ^ Jakarta Transactions 1.3 | Jakarta EE | The Eclipse Foundation”. Jakarta® EE: The New Home of Cloud Native Java. 2025年9月25日閲覧。
  3. ^ Jakarta Transactions 2.0 | Jakarta EE | The Eclipse Foundation”. Jakarta® EE: The New Home of Cloud Native Java. 2025年9月25日閲覧。

外部リンク





固有名詞の分類

このページでは「ウィキペディア」からJava Transaction APIを検索した結果を表示しています。
Weblioに収録されているすべての辞書からJava Transaction APIを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からJava Transaction API を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Java Transaction API」の関連用語

Java Transaction APIのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Java Transaction APIのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのJava Transaction API (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS