GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • メインページ
  • コミュニティ・ポータル
  • 最近の出来事
  • 新しいページ
  • 最近の更新
  • おまかせ表示
  • 練習用ページ
  • アップロード (ウィキメディア・コモンズ)
  • 特別ページ
  • ヘルプ
  • 利用案内
  • 井戸端
  • お知らせ
  • バグの報告

This view

  • Original page
  • New address

GeezerVison is showing ja.wikipedia.org — Java Transaction API - Wikipedia

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "Java Transaction API" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL
(2021年6月)

Jakarta Transactionsは、Eclipse Foundationが開発している、XAリソース間の分散トランザクション処理を扱うJavaのAPIで、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パッケージにあるクラス群で構成される:

  • javax.transaction
  • javax.transaction.xa

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日閲覧。

外部リンク

  • Jakarta Transactions
  • Java Transaction API (JTA)
  • JSR 907
Java
オラクル
現行
  • Java言語
    • 文法
    • キーワード
    • 履歴
  • JDK
    • OpenJDK
  • JVM
    • HotSpot
  • Java SE (Standard)
  • Card
  • JavaFX
廃止
  • Applet
  • Web Start (JNLP)
  • JRE
  • Java ME (Micro)
  • Java EE (Enterprise)
サードパーティ
Jakarta EE
  • Servlet
  • Pages
  • Faces
  • Messaging
  • Transactions
  • Enterprise Beans
  • RESTful
その他
  • Android SDK
    • Android Studio
  • Eclipse
  • GNU Classpath
  • GWT
  • Harmony
  • Hibernate
  • IcedTea
  • IntelliJ IDEA
  • Spring
  • Struts
  • WildFly
JVM言語
  • BeanShell
  • Clojure
  • Groovy
  • JRuby
  • Jython
  • Kotlin
  • Processing
  • Rhino
  • Scala
コミュニティ
カンファレンス
  • JavaOne
  • Devoxx
組織
  • Apache財団
  • Eclipse財団
  • JCP
  • オラクル
  • サン・マイクロシステムズ
人物
  • ジェームズ・ゴスリン
  • アーサー・ヴァン・ホフ
  • ウルス・ヘルツレ
  • パトリック・ノートン
  • カテゴリ カテゴリ
  • コモンズ コモンズ
  • ポータル Portal:コンピュータ
「https://ja.wikipedia.org/w/index.php?title=Java_Transaction_API&oldid=106604784」から取得
カテゴリ:
  • Java specification requests
  • Java enterprise platform
  • Java API
  • Eclipse Foundation
隠しカテゴリ:
  • 出典を必要とする記事/2021年6月
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.