ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(データベース連携サービス編)

2.2.2 UserTransactionインタフェース

  UserTransactionインタフェースは、JTA(Java Transaction API)に含まれるインタフェースです。

2.2.2.1 UserTransactionインタフェースの機能

  UserTransactionインタフェースには以下の機能があります。

機能名

機能概要

begin

トランザクションを開始します。また、トランザクションは、このメソッドを発行したスレッドと関連つけられます。すでにトランザクションがスレッドに関連付けられている場合、NotSupportedExceptionが発生します。

commit

スレッドに関連つけられた該当トランザクションをコミットします。
コミット発行後に処理を取り消すことはできません。

getStatus

スレッドに関連つけられたトランザクションの状態を取得します。

rollback

スレッドに関連つけられた該当トランザクションをロールバックします。
ロールバックを発行することによって、処理を行う前の状態に戻ります。

setRollbackonly

該当トランザクションをロールバックのみ可能な状態にします。

setTransactionTimeout

トランザクションタイムアウトを設定します。

2.2.2.2 UserTransactionインタフェースを利用するための環境設定

  EJBアプリケーション以外のJ2EEアプリケーション内でUserTransactionインタフェースを利用するには、以下のクラスライブラリをクラスパスに設定する必要があります。

-  fjtsclient.jar (JTSクライアント用クラスライブラリ)

-  isj2ee.jar (J2EEのクラスライブラリ)

-  CORBAサービスのクラスライブラリ

-  EJBサービスのクラスライブラリ(EJBクライアントアプリケーションを作成する場合)

  JTSのクライアント用クラスライブラリはサーバ機能でのみインストールされます。クライアント機能ではインストールされません。クライアント機能をインストールした環境でJTAを利用したアプリケーションを運用するには、サーバ機能でインストールした環境から、JTSのクライアント用クラスライブラリをコピーしてくる必要があります。

  サーバ機能をインストールした環境では以下に格納されています。

【クライアント用クラスライブラリ】

・格納場所

C:\INTERSTAGE\ots\lib\fjtsclient.jar

/opt/FSUNots/lib/fjtsclient.jar

/opt/FJSVots/lib/fjtsclient.jar

  EJBアプリケーション内でUserTransactionインタフェースを利用する場合には、JTS用クラスライブラリを環境変数クラスパスに設定しないでください。

2.2.2.3 UserTransactionインタフェースの獲得方法

  ここではUserTransactionインタフェースを利用するために、JNDIからUserTransactionオブジェクトを獲得する方法を説明します。

  UserTransactionオブジェクトをJNDIから獲得するには、JNDI環境プロパティの設定が必要です。

  JNDI環境プロパティの詳細は、J2EEユーザーズガイドのJNDI環境プロパティの詳細設定を参照して下さい。

  JNDIからUserTransactionオブジェクトを獲得するためのJNDI名は、以下になります。

java:comp/UserTransaction

InitialContext ic = new InitialContext();
UserTransaction ut = ic.lookup("java:comp/UserTransaction");

  JNDI環境プロパティの設定が正しく行なわれていない場合、lookup処理が失敗します。

lookup処理で失敗する場合は、JNDI環境プロパティの設定を確認してください。