こ の章では、 Java Transaction API (JTA) と BEA Systems が提供する JTA の拡張 機能について概説します。
こ こ では次の内容について説明します。
JTA API の概要
JTA に対する BEA WebLogic の拡張機能
JTA API の概要
WebLogic Server
では、 Java アプ リ ケーシ ョ ンの Java Transaction API (JTA) を実 装する Sun Microsystems の javax.transactionパ ッ ケージ とjavax.transaction.xaパ ッ ケージがサポー ト さ れています。 JTA の詳細につ いては、 Sun Microsystems 発行の Java Transaction API (JTA) 仕様 ( バージ ョ ン
1.0.1a) を参照して く だ さ い。
javax.transaction イ ン タ フ ェース とjavax.transaction.xa イ ン タ フ ェースの詳細については、 JTA の Javadoc を参 照して く だ さ い。
JTA の構成要素は以下の と お り です。
アプ リ ケーシ ョ ンか ら ト ラ ンザ ク シ ョ ンの境界を設定した り 、 ト ラ ンザ ク シ ョ ンを管理し た り する ための イ ン タ フ ェースであ る
javax.transaction.UserTransaction。 こ のイ ン タ フ ェースは、 Java ク ラ イ アン ト プロ グ ラ ムの一部 と し て、 ま たは EJB 内で Bean 管理の ト ラ ンザ ク シ ョ ンの一部 と し て使用し ます。
ト ラ ンザ ク シ ョ ン マネージ ャ がアプ リ ケーシ ョ ンの ト ラ ンザ ク シ ョ ンの境界
あ る javax.transaction.TransactionManager。 こ の イ ン タ フ ェースはコ ンテナ管理の ト ラ ンザ ク シ ョ ンの一部 と し て EJB コ ンテナに よ っ て使用 さ れ ます。 こ の イ ン タ フ ェースでは、javax.transaction.Transactionイ ン タ フ ェース を使用して特定の ト ラ ンザ ク シ ョ ンで処理が実行さ れます。
ト ラ ンザ ク シ ョ ン マネージ ャがアプ リ ケーシ ョ ン サーバにス テータ スおよ び同期の情報を提供する ための イ ン タ フ ェースであ る
javax.transaction.Status と javax.transaction.Synchronization。 こ れ ら の イ ン タ フ ェースは、 ト ラ ンザ ク シ ョ ン マネージ ャ に よ っ てのみア ク セス さ れ、 アプ リ ケーシ ョ ン プ ロ グ ラ ムの一部 と し て使用する こ と はでき ま せん。
ト ラ ンザ ク シ ョ ン マネージ ャが XA 準拠 リ ソ ースの リ ソ ース マネージ ャ と 連係する ための イ ン タ フ ェース であ る
javax.transaction.xa.XAResource、 および ト ラ ンザ ク シ ョ ン マネージ ャ が ト ラ ンザ ク シ ョ ンの識別子を取 り 出すための イ ン タ フ ェースであ る javax.transaction.xa.Xid。 こ れ ら の イ ン タ フ ェースは、 ト ラ ンザ ク シ ョ ン マネージ ャに よ っ てのみア ク セ ス さ れ、 アプ リ ケーシ ョ ン プ ロ グ ラ ムの 一部 と し て使用する こ と はで き ません。
JTA に対する BEA WebLogic の拡張機能
Java Transactions API
の拡張機能は、 JTA の仕様で実装の細かな部分がカバー さ れていない と こ ろや補足的な機能が必要な と こ ろで提供 さ れます。BEA WebLogic
では、 JTA 仕様の解釈に基づいて以下の機能が提供 さ れます。ク ラ イ アン ト が開始する ト ラ ンザ ク シ ョ ン― JTA ト ラ ンザ ク シ ョ ン マネー ジ ャ イ ン タ フ ェース (javax.transaction.TransactionManager
)
が JNDI を通じ て ク ラ イ アン ト や Bean プ ロバ イ ダか ら利用可能にな り ます。 こ の機 能に よ り 、 ク ラ イ アン ト や、 Bean 管理の ト ラ ンザ ク シ ョ ン を利用する EJB で ト ラ ンザ ク シ ョ ンをサスペン ド し た り 再開した り する こ と ができ ます。注意
:
サスペン ド さ れた ト ラ ンザ ク シ ョ ンは、 それがサスペン ド さ れた同じ サーバ プロ セ スで再開する必要があ り ます。ト ラ ンザ ク シ ョ ンのス コープ― ト ラ ンザ ク シ ョ ンは ク ラ ス タ と ド メ イ ンの内
JTA
に対す るBEA WebLogic
の拡張機能BEA WebLogic
では、 JTA の拡張機能 と して以下の ク ラ ス と イ ン タ フ ェースが提 供さ れます。weblogic.transaction.RollbackException
(
javax.transaction.RollbackExceptionを拡張 )こ の ク ラ スでは、 よ り 包括的な例外情報で使用する ために ロールバ ッ ク の 元々の理由が保持さ れます。
weblogic.transaction.TransactionManager
(
javax.transaction.TransactionManagerを拡張 )WebLogic JTA
ト ラ ンザ ク シ ョ ン マネージ ャ オブジ ェ ク ト では、 XA リ ソー スが起動時に ト ラ ンザ ク シ ョ ン マネージ ャに対する 登録を行った り 、 登録を 解除した り でき る よ う にする こ の イ ン タ フ ェースがサポー ト さ れています。こ の イ ン タ フ ェース を利用する と 、 ト ラ ンザ ク シ ョ ン をサ スペン ド 後に再開 する こ と も でき ます。
こ の イ ン タ フ ェースには、 以下の メ ソ ッ ド があ り ます。
registerStaticResource、registerDynamicResource、 および unregisterResource
getTransaction
forceResume
および
forceSuspend beginweblogic.transaction.Transaction
(
javax.transaction.Transaction を拡張 )WebLogic JTA
ト ラ ンザ ク シ ョ ン オブジ ェ ク ト では、 ユーザが ト ラ ンザ ク シ ョ ン プ ロパテ ィ を取得および設定でき る よ う にする こ の イ ン タ フ ェースが サポー ト さ れています。こ の イ ン タ フ ェースには、 以下の メ ソ ッ ド があ り ます。
setName
および
getNameaddProperties、setProperty、getProperty、 および getProperties setRollbackReason
および
getRollbackReasongetHeuristicErrorMessage getXID
および
getXidgetStatusAsString
getTimeToLiveMillis isTimedOut
weblogic.transaction.TxHelper
こ の ク ラ ス を使用する と 、 現在の ト ラ ンザ ク シ ョ ン マネージ ャおよび ト ラ ン ザ ク シ ョ ン を取得で き ます。
こ の イ ン タ フ ェースには、 以下の静的 メ ソ ッ ド があ り ます。
getTransaction、getUserTransaction、getTransactionManager status2String
weblogic.transaction.XAResource
(
javax.transaction.xa.XAResourceを拡張 )こ の ク ラ ス を使用する と 、 XA リ ソ ース を リ ス ト か ら削除でき ます。
こ の イ ン タ フ ェースには、 次の メ ソ ッ ド があ り ます。
getDelistFlag
javax.transactionイ ン タ フ ェース と javax.transaction.xa イ ン タ フ ェース に対する WebLogic 拡張機能の詳細については、weblogic.transaction パ ッ ケージ の説明を参照して く だ さ い。