Cosminexus 機能解説

[目次][用語][索引][前へ][次へ]

6.4.1 EJBクライアントでトランザクションを使用する手順

ここでは,EJBクライアントでトランザクションを使用する場合の手順を説明します。

  1. EJBクライアントアプリケーション起動時のクラスパスに,次のJARファイルを追加します。
    • Windowsの場合
      <Cosminexusのインストールディレクトリ>\TPB\lib\tpotsinproc.jar
      <Cosminexusのインストールディレクトリ>\CC\lib\ejbserver.jar
    • UNIXの場合
      /opt/Cosminexus/TPB/lib/tpotsinproc.jar
      /opt/Cosminexus/CC/lib/ejbserver.jar
    注※
    ejbserver.jarはHiEJBClientStatic.jarよりも後ろに追加してください。
  2. EJBクライアントアプリケーション起動時に必要なシステムプロパティを追加します。
    システムプロパティの追加方法については,マニュアル「Cosminexus システム構築ガイド」を参照してください。
  3. EJBクライアントアプリケーションのプロセスの起動直後に,EJBクライアントアプリケーションに実装したユーザコードから,サービスの初期化処理を実行します。
    サービスの初期化処理を実行するには,EJBClientInitializerクラス(com.hitachi.software.ejb.ejbclient.EJBClientInitializer)を呼び出します。
    なお,EJBClientInitializerクラスのinitializeメソッドを呼び出す前に,javax.naming.InitialContextを生成した場合や,UserTransactionFactoryクラスのgetUserTransactionメソッドを呼び出した場合は,その時点で初期化処理が行われます。このため,EJBClientInitializerクラスによる初期化処理は不要です。
    EJBClientInitializerクラスの文法や機能については,マニュアル「Cosminexus リファレンス API編」を参照してください。
  4. UserTransactionオブジェクトを取得します。
    UserTransactionの取得方法には,次の2種類があります。
    • UserTransactionFactoryクラスを使用する
      com.hitachi.software.ejb.ejbclient.UserTransactionFactoryクラスのgetUserTransactionメソッドを使用して取得します。UserTransactionFactoryクラスの文法や機能については,マニュアル「Cosminexus リファレンス API編」を参照してください。
    • ルックアップを使用する
      ネーミングサービスからルックアップして取得します。ルックアップを使用したUserTransactionの取得方法については,「6.4.2 ルックアップを使用したUserTransactionの取得方法」を参照してください。
    EJBクライアントでは,UserTransactionFactoryクラスを使用する方法を推奨しています。ただし,他社のアプリケーションサーバからの移行などによって,EJBクライアントアプリケーションのソースコードを変更できない場合は,ルックアップを使用します。
  5. Enterprise Beanを呼び出すスレッドから,UserTransactionインタフェースのbeginメソッドを呼び出し,トランザクションを開始します。
  6. サーバ上のEnterprise Beanを呼び出します。
  7. Enterprise Beanを呼び出したスレッドから,UserTransactionインタフェースのcommitメソッドまたはrollbackメソッドを呼び出して,トランザクションを決着します。