Oracle WebLogic Server での Oracle Jolt の使用

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

Servlet with Enterprise JavaBean サンプル プログラム

サンプル プログラムの Servlet with Enterprise JavaBean を使用するには、次の節を参照してください。

この Enterprise JavaBean (EJBean) サンプル パッケージには、Jolt を使用する Tuxedo サーバへの EJBean ステートフル セッションを設定し、実行するために必要なクラスおよびその他のファイルが含まれています。このパッケージのコンポーネントは以下のとおりです。

 


Servlet with JavaBean サンプル プログラムの概要

このサンプル プログラムでは、Enterprise JavaBean (EJBean) の機能を紹介し、Tuxedo サーバにアクセスする簡単なインタフェースの例を示します。このサンプル プログラムのソース コードは、Oracle Tuxedo の /samples/jolt/wls/ejb/bankapp ディレクトリに収められています。

独自の EJBean を作成する前にこのサンプル プログラムを実行する場合は手順が異なります。このサンプル プログラムは、TellerBean という名前のステートフル セッション EJBean です。TellerBean は Jolt for WebLogic を使用して Tuxedo サーバとコンタクトし、以下に示すトランザクションを実行します。

クライアント ブラウザ アプリケーションは次の手順を実行します。

  1. JNDI を通して窓口のホーム ("TellerHome") にコンタクトし、EJBean を検索します。
  2. 窓口 ("Terry") を作成します。
  3. 作成された窓口に対して、アプリケーションは以下の一連のトランザクションを実行します。
    • 口座 10000 の現在の残高を取得する。
    • トランザクション 1: 口座に 100 ドルを預け入れ、残高を表示する。
    • トランザクション 2: 200 ドルの預け入れを行う (トランザクション限度額の 300 ドルを超える)。
    • 注意 : トランザクション 1 では、単一の呼び出しが行われ、自動的にコミットされる。トランザクション 2 では、begin()commit() で 2 つの要求 (預け入れと引き出し) がまとめて処理されます。
    • 口座の残高より 100 ドル多い金額の引き出しを試みる。
    • ApplicationException を捕捉し、例外に埋め込まれたステータス メッセージを取得して、トランザクション 2 にロールバックする。
    • その口座の最終的な残高を取得する。
    • 窓口を削除する。
    • トランザクション 2 では、トランザクション 1 の終了時点の残高にロール バックする方法が示されています。

 


Servlet with JavaBean サンプル プログラムを使用するための準備を行う

このサンプル プログラムを効果的に利用するには、まずサンプル コード ファイルを通読して内容を確認します。DeploymentDescriptor.txt を起動して、EJBean の基本構造と、オブジェクトやインタフェースの種類に応じて使用されるクラスを識別します。また、Client.java でアプリケーションの動作を確認します。

以下の節では、このサンプル プログラムの使用方法について詳しく説明します。

環境を設定する

「付録 B 簡単なサーブレット サンプル プログラム」の「手順 3. WebLogic Server でサーブレットをコンフィグレーションする」に示す手順に従って、Oracle の公開 Tuxedo サーバに接続する Jolt 接続プールを追加する必要があります。処理が完了すると、config.xml コンフィグレーション ファイルに次のセクションが追加されます。

<StartupClass
ClassName="bea.jolt.pool.servlet.weblogic.PoolManagerStartUp"
FailureIsFatal="false"
Name="MyStartup Class"
Targets="myserver"
/>
<JoltConnectionPool
ApplicationPassword="tuxedo"
MaximumPoolSize="5"
MinimumPoolSize="3"
Name="MyJolt Connection Pool"
PrimaryAddresses="//TUXSERVER:6309"
RecvTimeout="300"
SecurityContextEnabled="true"
Targets="myserver"
UserName="joltuser"
UserPassword="jolttest"
UserRole="clt"
/>|
<ShutdownClass
ClassName=”bea.jolt.pool.servlet.weblogic.PoolManager
ShutDown.”
/>

サンプル プログラムを作成する

WebLogic Server の開発環境をコンフィグレーションしたら、サンプル プログラムを作成する必要があります。Oracle Jolt では、Windows 2003 用と UNIX 用のビルド スクリプトが用意されています。

これらのスクリプトによって、Windows 2003 用のエントリなど、個々のサンプルが作成されます。

$ build

Microsoft の JDK for Java で作成するには、次のように指定します。

$ build -ms

スクリプトによってサンプル プログラムが作成され、Windows 2003 システムでは以下に示すデフォルトの WebLogic Server ディレクトリにファイルがインストールされます。

 


Servlet with JavaBean サンプル プログラムを実行する

デフォルトの \config\mydomain ディレクトリで WebLogic Server を起動すると、サンプル プログラムの EJBean が \applications ディレクトリに自動的に配置されます。

  1. \config\mydomain ディレクトリで WebLogic Server を起動します。EJBean が正しく配置されていることを確認するには、サーバのコマンドライン ウィンドウをチェックするか、Console を開いて Deployments の下の EJB を調べます。ejb.jolt.bankapp がデプロイされ、そのアクティビティがモニタ可能になっている必要があります。
  2. 別のコマンドライン ウィンドウを開き、次のコマンドを入力してクライアントを実行します。
  3. $ java examples.jolt.ejb.bankapp.Client

    WebLogic Server をデフォルト設定で実行していない場合、次のコマンドラインを使用する必要があります。

    $ java examples.jolt.ejb.bankapp.Client "t3://WebLogicURL:Port"

    パラメータの定義は次のとおりです。

    • WebLogicURL - WebLogic Server のドメイン アドレス
    • Port - 接続をリスンするポート (weblogic.system.ListenPort)
    • 次のオプション パラメータは、クライアントによって上から順に解釈されます。

    • url - サーバの URL (t3://localhost:7001 など)。
    • user - ユーザ名。デフォルトは NULL。
    • password - ユーザ パスワード。デフォルトは NULL。
  4. Client サンプルを実行している場合、クライアント アプリケーションから次のような出力が返されます。
  5. 4.	Beginning jolt.bankapp.Client...
    5.
    6. Created teller Terry
    7.
    8. Getting current balance of Account 10000 for Erin
    9. Balance: 27924.02
    10.
    11. Start Transaction 1 for Erin
    12.
    13. Depositing 100.0 for Erin
    14. Balance: 28024.02
    15.
    16. End Transaction 1 for Erin
    17.
    18. Start Transaction 2 for Erin
    19.
    20. Depositing 200.0 for Erin
    21. Balance: 28224.02
    22.
    23. Withdrawing 28324.02 for Erin
    24. Transaction error:
    25. examples.jolt.ejb.bankapp.TransactionErrorException: Teller error: application
    26. exception:
    27. Account Overdraft
    28.
    29. Rolling back transaction for Erin
    30.
    31. End Transaction 2 for Erin
    32.
    33. Getting final balance of Account 10000 for Erin
    34. Balance: 28024.02
    35.
    36. Removing teller Terry
    37.
    End jolt.bankapp.Client...
    注意 : トランザクション 2 がトランザクション 1 の終了時点の残高にロールバックされ、最終的な残高が表示されていることに注意してください。

EJB の詳細については、『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』を参照してください。Oracle Jolt の使用方法については、『Oracle Jolt』を参照してください。


  ページの先頭       前  次