目次 前 次 PDF


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

Servlet with Enterprise JavaBeanサンプル・プログラム
サンプル・プログラムのServlet with Enterprise JavaBeanを使用するには、次の項を参照してください。
このEnterprise JavaBean (EJBean)サンプル・パッケージには、Joltを使用するTuxedoサーバーへのEJBeanステートフル・セッションを設定し、実行するために必要なクラスおよびその他のファイルが含まれています。このパッケージのコンポーネントは以下のとおりです。
クライアント・アプリケーション(クライアント・アプリケーションのドキュメントとソース・コード)
デプロイメント
DeploymentDescriptor.txt
manifest
インタフェース
Teller (リモート・インタフェースのドキュメントとソース・コード)
TellerHome (ホーム・インタフェースのドキュメントとソース・コード)
TellerResult (アプリケーション固有のユーティリティのドキュメントとソース・コード)
ProcessingErrorException (アプリケーション固有の例外処理のドキュメントとソース・コード)
TransactionErrorException (アプリケーション固有の例外処理のドキュメントとソース・コード)
Server(EJBean)
TellerBean (EJBeanのドキュメントとソース・コード)
Servlet with JavaBeanサンプル・プログラムについて
このサンプル・プログラムでは、Enterprise JavaBean (EJBean)の機能を紹介し、Tuxedoサーバーにアクセスする単純なインタフェースの例を示します。このサンプル・プログラムのソース・コードは、Oracle Tuxedoの/samples/jolt/wls/ejb/bankappディレクトリに収められています。
自分専用のEJBeanを作成する前にこのサンプル・プログラムを実行すると、ソースに記載される様々な手順が表示されます。サンプル・プログラムは、TellerBeanというステートフル・セッションEJBeanで、Jolt for WebLogicを使用してTuxedoサーバーと通信し、次のトランザクションを実行します。
Tuxedoサーバーとコンタクトしてサービスを呼び出し、返された結果を取得する
セッションEJBeanを使用する
ステートフルな永続性を使用する
アプリケーション定義の例外とユーティリティを使用する
クライアント・ブラウザ・アプリケーションを使用する
クライアント・ブラウザ・アプリケーションは次の手順を実行します。
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: %TUXDIR%¥samples¥jolt¥wls¥ejb¥ bankapp¥build.cmd
UNIX: $TUXDIR/samples/jolt/wls/ejb/bankapp/build.sh
これらのスクリプトによって、Windows 2003用のエントリなど、個々のサンプルが作成されます。
$ build
MicrosoftのJDK for Javaで作成するには、次のように指定します。
$ build -ms
スクリプトによってサンプル・プログラムが作成され、Windows 2003システムでは以下に示すデフォルトのWebLogic Serverディレクトリにファイルがインストールされます。
クライアント・ファイル: d:¥bea¥wlserver6.1¥config¥examples
EJBean: d:¥bea¥wlserver6.1¥config¥mydomain¥applications
Servlet with JavaBeanサンプル・プログラムを実行する
デフォルトの\config\mydomainディレクトリでWebLogic Serverを起動すると、サンプル・プログラムのEJBeanが\applicationsディレクトリに自動的にデプロイされます。
1.
\config\mydomainディレクトリでWebLogic Serverを起動します。EJBeanが正しくデプロイされていることを確認するには、サーバーのコマンド行ウィンドウをチェックするか、Consoleを開いてDeploymentsの下のEJBを調べます。ejb.jolt.bankappがデプロイされ、そのアクティビティがモニター可能になっている必要があります。
2.
別のコマンド行ウィンドウを開き、次のコマンドを入力してクライアントを実行します。
$ 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。
3.
Clientサンプルを実行している場合、クライアント・アプリケーションから次のような出力が返されます。
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の使用を参照してください。

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved