Oracle WebLogic ServerでのOracle Joltの使用

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

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で、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 Enterprise JavaBeansのプログラミングを参照してください。Oracle Joltの使用方法については、Oracle Joltの使用を参照してください。


  先頭に戻る       前  次