Hitachi

Cosminexus V11 アプリケーションサーバ システム構築・運用ガイド


付録L.2 Enterprise Bean(EJB2.0)のサンプルプログラム

Enterprise Bean(EJB2.0)を使用したサンプルプログラムは,次に示すディレクトリに格納されています。

<Application Serverのインストールディレクトリ>\CC\examples\ejb\ejb20

ここでは,サンプルプログラムの一覧,実行例,および各サンプルプログラムの概要について説明します。

〈この項の構成〉

(1) Enterprise Bean(EJB2.0)のサンプルプログラム一覧

サンプルプログラムの一覧およびサンプルプログラム実行時の注意事項を示します。サンプルプログラムの一覧は,Enterprise Beanの種類と動作概要をまとめた一覧と,利用する技術,およびリソースをまとめた一覧に分けて示します。

注意事項

Enterprise Beanのサンプルプログラムは,現在使用している製品のバージョン・リビジョンのものを使用してください。旧バージョン・リビジョンのサンプルプログラムの動作は保証されません。

(a) サンプルプログラム一覧(Enterprise Beanの種類と動作内容)

表L‒1 サンプルプログラムの一覧(Enterprise Beanの種類と動作内容)

サンプル名

Enterprise Bean種別

パーシスタンス

トランザクション

動作概要

account

Entity Bean

BMP

−

預金や払い戻しに応じて残高を計算し,データベースを更新します。

adder

Stateful Session Bean

−

CMT

入力数値の合計を計算して,ブラウザ上に表示します。

bank

Stateful Session Bean

−

CMT

当座預金口座から普通預金口座に資金を移動し,データベースを更新します。

cart

Stateful Session Bean

−

CMT

購入する本をショッピングカートに入れます。カートにない本をカートから出そうとした場合は,例外を発生させます。

checker

Stateful Session Bean

−

CMT

割引対象となる金額を超えた場合,割引率を基に割引後の金額を計算します。割引対象となる金額と割引率は,Enterprise Beanの環境エントリで指定します。

cmp20product

Entity Bean

CMP2.0

−

商品情報をデータベースに登録し,登録された商品情報を検索します。このサンプルは,CMP 2.0形式のEnterprise Beanを利用します。

confirmer

Stateless Session Bean

−

CMT

商品の注文に対する確認メールを送信します。

converter

Stateless Session Bean

−

CMT

通貨の種類をドルから円,円からユーロに変換します。

enroller

Stateless Session Bean

−

CMT

学生と科目の追加,および受講登録をして,データベースを更新します。

Entity Bean

BMP

−

jsptag※

Stateless Session Bean

−

CMT

通貨の種類をドルから円,円からユーロに変換します。このサンプルは,JSPを利用してブラウザ上に表示します。

jsptobean

Entity Bean

BMP

−

預金や払い戻しに応じて残高を計算し,データベースを更新します。残高は,JSPを利用してブラウザ上に表示します。

localadder

Stateful Session Bean

−

CMT

入力数値の合計を計算して,ブラウザ上に表示します。このサンプルは,サーブレットからローカルインタフェースを利用してEnterprise Beanを呼び出します。

message

Stateless Session Bean

−

CMT

JMSのキューを利用して,メッセージを送受信します。

Message -driven Bean

−

CMT

order

Entity Bean

BMP

−

注文番号と対応する商品情報を検索して表示します。注文番号と商品情報はデータベースで管理します。

product

Entity Bean

CMP

−

商品情報をデータベースに登録し,登録された商品情報を検索します。

salesrep

Entity Bean

BMP

−

顧客の追加と,担当する販売員の変更を行い,データベースを更新します。

shipper

Stateful Session Bean

−

CMT

注文に対する商品在庫を計算し,データベースを更新します。在庫が一定の数量を下回った場合,引き当て処理を呼び出します。

Entity Bean

BMP

−

storagebin

Entity Bean

BMP

−

データベースの部品情報テーブルと部品在庫情報テーブルから,対応する部品の情報と在庫を検索します。

teller

Stateful Session Bean

−

BMT

銀行用端末機から当座預金のお金を引き出し,残高を計算します。

warehouse

Stateless Session Bean

−

CMT

注文を受けた商品の状態,および商品の在庫を更新します。

(凡例)

−:該当しないことを示します。

注※ jsptagサンプルをコンパイルおよびアーカイブしたEARファイル(converter.ear)も提供しています。

(b) サンプルプログラムの一覧(接続するリソース,クライアントの種類)

サンプルプログラムの一覧と,接続するリソース,クライアントの種類を次の表に示します。

表L‒2 サンプルプログラム一覧(接続するリソース,クライアントの種類)

サンプル

接続するリソース※1

クライアントの種類※2

データベース

メール

JMS

EJBクライアントアプリケーション

Webブラウザ

account

○

−

−

○

−

adder

−

−

−

−

○

bank

○

−

−

○

−

cart

−

−

−

○

−

checker

−

−

−

○

−

confirmer

−

○

−

○

−

converter

−

−

−

○

−

enroller

○

−

−

○

−

jsptag

−

−

−

−

○

jsptobean

○

−

−

−

○

order

○

−

−

○

−

product

○

−

−

○

−

salesrep

○

−

−

○

−

shipper

○

−

−

○

−

storagebin

○

−

−

○

−

teller

○

−

−

○

−

warehouse

○

−

−

○

−

message

−

−

○

○

−

cmp20product

○

−

−

○

−

localadder

−

−

−

−

○

(凡例)

○:該当することを示します。 −:該当しないことを示します。

注※1 接続するリソースごとに,必要な設定があります。接続するリソースに応じて,「付録L.2(1)(c) サンプルプログラムで使用するデータベースの設定」,「付録L.2(1)(d) サンプルプログラムで使用するメールの設定」または「付録L.2(1)(e) サンプルプログラムで使用するJMSの設定」を参照してください。

注※2 クライアントの種類に応じて,実行方法などが異なります。詳細は,「付録L.2(1)(f) サンプルプログラムのクライアントの種類」を参照してください。

(c) サンプルプログラムで使用するデータベースの設定

ここでは,サンプルプログラムで使用するデータベースの設定について説明します。

表L-2の「データベース」列に「○」が付いているサンプルプログラムでは,リソースとしてデータベースを利用します。サンプルプログラムを実行する前に,データベースおよびデータベース接続関連の設定を適切にしてください。

なお,データベースとして利用できるのは,OracleまたはHiRDBです。

必要な設定を次に示します。

  • HiRDBを利用する場合,外部キーの指定(参照制約)を有効に設定してください。

    設定方法については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

  • 利用するデータベース種別に従って,サンプルが提供する「createTable_Oracle.sql」(Oracleの場合)または「createTable_HiRDB.sql」(HiRDBの場合)を実行して,データベースのテーブルを初期化してください。なお,HiRDBを利用する場合,外部キーの指定(参照制約)が有効になっていないと,「createTable_HiRDB.sql」の実行に失敗します。

  • サーバ管理コマンドでDB Connectorの設定をします。

    DB Connectorは,「DBConnector_Oracle_CP.rar」または「DBConnector_HiRDB_Type4_CP.rar」を利用することをお勧めします。「DBConnector_Oracle_XA.rar」または「DBConnector_HiRDB_Type4_XA.rar」を利用した場合は,ライトトランザクション機能が無効になるように設定してからJ2EEサーバを起動して,DB Connectorを設定します。ライトトランザクション機能は,usrconf.propertiesのejbserver.distributedtx.XATransaction.enabledキーにtrueを指定すると無効になります。

  • リソースのリンクを解決します。

    リンクの解決には,サンプルで提供するアプリケーション属性ファイル「cosminexus.xml」を利用します。「cosminexus.xml」の<resource-ref>タグにリソースの表示名を指定して,サーバ管理コマンドを利用して設定してください。リソースのリンク解決をしてから,アプリケーションのデプロイ操作をしてください。

  • サンプルプログラムのうち,「product」と「cmp20product」では,「cosminexus.xml」の<schema-name>タグに「user1」が設定されています。利用するデータベース環境に応じて,適切な値に変更してからアプリケーションのデプロイ操作を実行してください。

  • サンプルプログラムのうち,「teller」の実行にHiRDBを使用する場合,TellerEJB.javaファイル中の日付指定関数を指定している個所を,HiRDB用に書き換えてコンパイルしてください。

(d) サンプルプログラムで使用するメールの設定

ここでは,サンプルプログラムで使用するメールの設定について説明します。

表L-2の「メール」列に「○」が付いているサンプルプログラムでは,リソースとしてメールを利用します。サンプルプログラムを実行する前に,メールサーバへの接続関連の設定を適切にしてください。

必要な設定を次に示します。

  • EJBクライアントアプリケーションのソースファイル(ConfirmerClient.java)に,受信メールアドレスがコーディングされています。この個所を適切な受信メールアドレスに書き換えてからコンパイルしてください。

  • サーバ管理コマンドでメールコンフィグレーションを設定する必要があります。サーバ管理コマンドの利用方法については,マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「6.3 メールコンフィグレーションの設定」を参照してください。

  • リソースのリンクを解決します。ただし,メールコンフィグレーションの表示名を「Cosminexus_SMTP_Server」と定義した場合は,リンクの解決は不要です。これ以外の表示名を定義した場合は,リンクを解決してください。

    リンクの解決には,サンプルで提供するアプリケーション属性ファイル「cosminexus.xml」を利用します。「cosminexus.xml」の<resource-ref>タグにリソースの表示名を指定して,サーバ管理コマンドで設定してください。リソースのリンク解決をしてから,アプリケーションのデプロイ操作をしてください。

(e) サンプルプログラムで使用するJMSの設定

ここでは,サンプルプログラムで使用するJMSの設定について説明します。

表L-2の「JMS」列に「○」が付いているサンプルプログラムでは,リソースとしてJMSを利用します。サンプルプログラムを実行する前に,JMSへの接続関連の設定を適切にしてください。

必要な設定を次に示します。

  • JMSとしてTP1/Message Queue - Accessを使用するため,あらかじめTP1/Message Queue - Accessをインストールしておきます。また,OpenTP1および TP1/Message Queueのサーバ実行環境もあらかじめ準備しておきます。

  • サーバ管理コマンドによって,TP1/Message Queue - Accessの設定をします。

    ライトトランザクション機能を無効にしてJ2EEサーバを起動してから,TP1/Message Queue - Accessの設定をします。なお,ライトトランザクション機能は,usrconf.propertiesのejbserver.distributedtx.XATransaction.enabledキーにtrueを指定すると無効になります。

    また,TP1/Message Queue - Accessのトランザクションサポートレベルを,「XATransaction」にしてください。

  • リソースのリンクを解決します。ただし,TP1/Message Queue - Accessのデフォルトの表示名を変更しないで,かつ,キュー定義ファイルに表示名が「QUEUE1」となるキューを定義している場合,リンクの解決は不要です。TP1/Message Queue - Accessのデフォルトの表示名を変更した場合や,キュー定義ファイルに表示名が「QUEUE1」となるキューを定義していない場合は,リンクの解決が必要です。

    リンクの解決には,サンプルで提供するアプリケーション属性ファイル「cosminexus.xml」を利用します。「cosminexus.xml」の<resource-ref>タグ,<resource-env-ref>タグ,および<message-ref>タグにリソースの表示名を指定して,サーバ管理コマンドで設定してください。リソースのリンク解決をしてから,アプリケーションのデプロイ操作をしてください。

(f) サンプルプログラムのクライアントの種類

サンプルプログラムのクライアントには,EJBクライアントアプリケーションと,Webブラウザで表示するアプリケーションの2種類があります。

  • 表L-2の「EJBクライアントアプリケーション」列に「○」が付いているサンプルプログラムは,EJBクライアントアプリケーションです。サンプルとして提供されている「testClient.bat」を使用して,クライアントアプリケーションを開始してください。

  • 表L-2の「Webブラウザ」列に「○」が付いているサンプルプログラムは,Webブラウザから操作するWebアプリケーションです。クライアントから操作する場合は,Webブラウザを起動して,次のURLを指定してください。

    http://<マシン名>:<ポート番号>/<ContextRoot>/<ターゲットファイル>

    例えば,ローカルホストで動作するサンプル「adder」の場合は,次のように指定します。

    http://localhost/adder/adder_war/adder.html

(2) Enterprise Bean(EJB2.0)のサンプル実行手順

converterを例に,サンプルの実行例を示します。converterは,クライアントのJavaアプリケーションからEnterprise Beanを呼び出すプログラムです。データベースなどのリソースは利用しません。リソースを利用する場合は,ここで示す手順に加え,リソースにアクセスできる環境を整える必要があります。リソースの設定方法については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.3 リソース接続」を参照してください。

(a) converterの概要

通貨の種類をドルから円,円からユーロに変換します。converterの構成を次に示します。

図L‒1 converterの構成

[図データ]

(b) コンパイル

サンプルで提供するバッチファイル(compileBean.batおよびcompileClient.bat)を使用して,Enterprise Beanとクライアントをコンパイルします。このバッチファイルで,アプリケーション(.earファイル)が作成されます。

C:\>cd C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\converter
C:\Program Files\Hitachi\Cosminexus\CC\...\converter>compileBean
C:\Program Files\Hitachi\Cosminexus\CC\...\converter>
C:\Program Files\Hitachi\Cosminexus\CC\...\converter>compileClient
C:\Program Files\Hitachi\Cosminexus\CC\...\converter>

(c) J2EEサーバのセットアップ

「付録L.1(1) J2EEサーバのセットアップ」を参照してください。

(d) J2EEサーバのカスタマイズ

「付録L.1(2) J2EEサーバのカスタマイズ」を参照してください。

(e) J2EEサーバの起動

「付録L.1(3) J2EEサーバの起動」を参照してください。

(f) アプリケーションのデプロイ

サンプルで提供するバッチファイル(deployApp.bat)を使用して,アプリケーションをデプロイします。このバッチファイルでは,アプリケーションのJ2EEサーバへのインポートから,アプリケーションの設定,開始,EJBのスタブおよびインタフェースファイルの取得までが実行されます。

このバッチファイルで実行される処理の内容を示します。

(g) アプリケーションの実行

サンプルで提供するバッチファイル(testClient.bat)を使用して,アプリケーションを実行します。実行後,EJBクライアントアプリケーションの起動コンソール画面に次のように表示されれば成功です。

C:\>cd C:\Program Files\Hitachi\Cosminexus\CC\examples\ ejb\ejb20\converter
C:\Program Files\Hitachi\Cosminexus\CC\examples\ ejb\ejb20\converter>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\Hitachi\Cosminexus\CC\examples\ 
ejb\ejb20\converter, PID = 3684)
12160.0
0.77
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
C:\Program Files\Hitachi\Cosminexus\CC\examples\ ejb\ejb20\converter>

(h) アプリケーションのアンデプロイ

「付録L.1(6) アプリケーションの停止,削除」を参照してください。

(i) J2EEサーバの終了

「付録L.1(7) J2EEサーバの終了」を参照してください。

(3) Enterprise Bean(EJB2.0)のサンプルの概要

Enterprise Bean(2.0)のサンプルの概要,構成,実行例を示します。なお,必要な設定については,「付録L.2(1)(b) サンプルプログラムの一覧(接続するリソース,クライアントの種類)」を参照してください。

(a) accountの概要

預金や払い戻しに応じて残高を計算し,銀行口座テーブルを更新します。accountの構成を次に示します。

図L‒2 accountの構成

[図データ]

accountの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\account>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\Hitachi\Cosminexus\CC\examples\ 
ejb\ejb20\account, PID = 3684)
balance = 68.25
balance = 32.55
456: 44.77
730: 19.54
268: 100.07
456: 44.77
836: 32.55
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\account>

(b) adderの概要

ブラウザから入力された数値の合計を計算します。adderの構成を次に示します。

図L‒3 adderの構成

[図データ]

実行時には,ブラウザを起動し,URLに次の文字列を指定します。

http://<マシン名>:<ポート番号>/<ContextRoot>/adder.html

J2EEサーバのNIO HTTPサーバに直接アクセスする場合,デフォルトでは次のURLを指定します。

http://localhost:8008/adder/adder_war/adder.html

adderの実行例を示します。

図L‒4 adderの実行例

[図データ]

(c) bankの概要

当座預金口座から普通預金口座に資金を移動します。資金はデータベースで管理し,資金移動時に,対応する当座預金口座テーブルと普通預金口座テーブルを更新します。bankの構成を次に示します。

図L‒5 bankの構成

[図データ]

bankの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\bank>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\Hitachi\Cosminexus\CC\examples\ 
ejb\ejb20\bank, PID = 3684)
checking: 60.0
saving: 540.0
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\bank>

(d) cartの概要

本を購入するショッピングカートです。3冊の本をカートに入れ,カートにない本1冊をカートから出そうとして「BookException」を発生させます。cartの構成を次に示します。

図L‒6 cartの構成

[図データ]

cartの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\cart>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\Hitachi\Cosminexus\CC\examples\ 
ejb\ejb20\cart, PID = 3684)
The Martian Chronicles
2001 A Space Odyssey
The Left Hand of Darkness
Caught a BookException: Alice in Wonderland not in cart.
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\cart>

(e) checkerの概要

割引対象となる金額を超えた場合,割引率を基に割引後の金額を計算します。割引対象となる金額と割引率は,Enterprise Beanの環境エントリで指定します。checkerの構成を次に示します。

図L‒7 checkerの構成

[図データ]

checkerの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\checker>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\Hitachi\Cosminexus\CC\examples\ 
ejb\ejb20\checker, PID = 3684)
discount = 4200.0
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\checker>

(f) cmp20productの概要

商品情報をデータベースに登録し,登録された商品情報を検索します。このサンプルは,CMP 2.0形式のEnterprise Beanを利用します。cmp20productの構成を次に示します。

図L‒8 cmp20productの構成

[図データ]

cmp20productの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\cmp20product>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\HITACHI\Cosminexus\CC\examples\ 
ejb\ejb20\cmp20product, PID = 3684)
Ceramic Dog: 10.0
Ceramic Dog: 14.0
Chrome Fish: 22.0
999: Ivory Cat 19.0
789: Ivory Cat 33.0
123: 14.0
456: 13.0
999: 19.0
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\cmp20product>

(g) confirmerの概要

商品の注文に対する確認メールを送信します。confirmerの構成を次に示します。

図L‒9 confirmerの構成

[図データ]

confirmerのクライアント(メール送信側)の実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\confirmer>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\Hitachi\Cosminexus\CC\examples\ 
ejb\ejb20\confirmer, PID = 3684)
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\confirmer>

クライアント実行後,ConfirmerClient.javaで指定したアドレスにメールが送信されます。受信されるメールの例を示します。

件名:"Test Message from ConfirmerEJB"
文面:
Thank you for your order.
We received your order on 2002/03/18 12:35.

(h) converterの概要

converterについては,「付録L.2(2) Enterprise Bean(EJB2.0)のサンプル実行手順」を参照してください。

(i) enrollerの概要

学生と科目の追加,および受講登録をして,対応する学生情報テーブル,科目テーブル,受講登録情報テーブルを更新します。enrollerの構成を次に示します。

図L‒10 enrollerの構成

[図データ]

enrollerの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\enroller>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\HITACHI\Cosminexus\CC\examples\ 
ejb\ejb20\enroller, PID = 3684)
Denise Smith:
220 Power J2EE Programming
333 XML Made Easy
777 An Introduction to Java Programming
 
An Introduction to Java Programming:
823 Denise Smith
456 Joe Smith
388 Elizabeth Willis
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\enroller>

(j) jsptagの概要

通貨の種類をドルから円,円からユーロに変換します。変換した結果は,JSPを利用して,ブラウザに表示します。jsptagの構成を次に示します。

図L‒11 jsptagの構成

[図データ]

実行時には,ブラウザを起動し,URLに次の文字列を指定します。

http://<マシン名>:<ポート番号>/<ContextRoot>/Converter.jsp

J2EEサーバのNIO HTTPサーバに直接アクセスする場合,デフォルトでは次のURLを指定します。

http://localhost:8008/jsptag/converter_war/Converter.jsp

jsptagの実行例を示します。

図L‒12 jsptagの実行例

[図データ]

(k) jsptobeanの概要

預金や払い戻しに応じて残高を計算し,データベースを更新します。残高は,JSPを利用してブラウザ上に表示します。jsptobeanの構成を次に示します。

図L‒13 jsptobeanの構成

[図データ]

実行時には,ブラウザを起動し,URLに次の文字列を指定します。

http://<マシン名>:<ポート番号>/<ContextRoot>/Account.jsp

J2EEサーバのNIO HTTPサーバに直接アクセスする場合,デフォルトでは次のURLを指定します。

http://localhost:8008/jsptobean/account_war/Account.jsp

jsptobeanの実行例を示します。

図L‒14 jsptobeanの実行例

[図データ]

(l) localadderの概要

入力数値の合計を計算して,ブラウザ上に表示します。このサンプルは,サーブレットからローカルインタフェースを利用してEnterprise Beanを呼び出します。localadderの構成を次に示します。

図L‒15 localadderの構成

[図データ]

実行時には,ブラウザを起動し,URLに次の文字列を指定します。

http://<マシン名>:<ポート番号>/<ContextRoot>/adder.html

J2EEサーバのNIO HTTPサーバに直接アクセスする場合,デフォルトでは次のURLを指定します。

http://localhost:8008/localadder/localadder_war/adder.html

localadderの実行例を示します。

図L‒16 localadderの実行例

[図データ]

(m) messageの概要

Session BeanからJMSのQueueへ送信したメッセージを,Message-driven Beanで受信します。messageの構成を次に示します。

図L‒17 messageの構成

[図データ]

messageのクライアントの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\message>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\HITACHI\Cosminexus\CC\examples\ 
ejb\ejb20\message, PID = 3684)
sending message=MY MESSAGE
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\message>

クライアント実行後,メッセージの送受信が正常に完了した場合は,J2EEサーバの起動コンソール上に次のように表示されます。

...
MessageBean: onMessage()
MessageBean: received message=MY MESSAGE
...

(n) orderの概要

注文番号と対応する商品情報を検索して表示します。注文番号と商品情報は,それぞれ注文情報テーブルと商品情報テーブルで管理します。orderの構成を次に示します。

図L‒18 orderの構成

[図データ]

orderの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\order>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\Hitachi\Cosminexus\CC\examples\ 
ejb\ejb20\order, PID = 3684)
about to create
123 1 p23 12.0
123 2 p67 89.0
123 3 p11 41.0
 
123
456
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\order>

(o) productの概要

商品名や価格などの商品情報をデータベースに登録し,登録された商品情報を検索します。商品情報は,商品情報テーブルで管理します。productの構成を次に示します。

図L‒19 productの構成

[図データ]

productの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\product>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\HITACHI\Cosminexus\CC\examples\ 
ejb\ejb20\product, PID = 3684)
Ceramic Dog: 10.0
Ceramic Dog: 14.0
Chrome Fish: 22.0
999: Ivory Cat 19.0
789: Ivory Cat 33.0
123: 14.0
456: 13.0
999: 19.0
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\product>

(p) salesrepの概要

顧客の追加と,担当する販売員の変更を行い,データベースを更新します。二つのEnterprise Beanを連携し,顧客テーブルと販売員テーブルへの検索と更新を行います。salesrepの構成を次に示します。

図L‒20 salesrepの構成

[図データ]

salesrepの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\salesrep>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\HITACHI\Cosminexus\CC\examples\ 
ejb\ejb20\salesrep, PID = 3684)
customerId = 221
customerId = 388
customerId = 456
customerId = 844
 
987: Mary Jackson
221: Alice Smith
388: Bill Williamson
456: Joe Smith
844: Buzz Murphy
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\salesrep>

(q) shipperの概要

注文に対する商品在庫を計算し,データベースを更新します。在庫が一定の数量を下回った場合,引き当て処理を呼び出します。二つのEnterprise Beanを連携し,商品在庫情報テーブルへの検索と更新を行います。shipperの構成を次に示します。

図L‒21 shipperの構成

[図データ]

shipperの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\shipper>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\HITACHI\Cosminexus\CC\examples\ 
ejb\ejb20\shipper, PID = 3684)
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\shipper>

shipperの実行後,J2EEサーバの起動コンソール上に次のように表示されます。

...
ShipperEJB: ejbCreate()
ShipperEJB: shipItem()
StockEJB: updateOnHand()
StockEJB: reorderNeeded()
...

(r) storagebinの概要

データベースから部品の情報と在庫を検索します。二つのEnterprise Beanを連携し,部品情報テーブルと部品在庫情報テーブルへの検索を行います。storagebinの構成を次に示します。

図L‒22 storagebinの構成

[図データ]

storagebinの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\storagebin>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\HITACHI\Cosminexus\CC\examples\ 
ejb\ejb20\storagebin, PID = 3684)
777 388 500 1.0 Duct Tape
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\storagebin>

(s) tellerの概要

銀行用端末機から当座預金を引き出し,残高を計算します。データベースの(銀行用端末機の)入金情報テーブルと取引履歴情報テーブルに対し,取引内容を追加します。

tellerの構成を次に示します。

図L‒23 tellerの構成

[図データ]

tellerの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\teller>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\HITACHI\Cosminexus\CC\examples\ 
ejb\ejb20\teller, PID = 3684)
checking = 500.0
checking = 440.0
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\teller>

(t) warehouseの概要

注文を受けた商品の状態,および商品の在庫を更新します。データベースの商品情報テーブルと在庫情報テーブルのそれぞれを更新します。warehouseの構成を次に示します。

図L‒24 warehouseの構成

[図データ]

warehouseの実行例を示します。

C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\warehouse>testClient
KDJE40053-I The cjclstartap command will now start. (directory for the 
user definition file = C:\Program Files\HITACHI\Cosminexus\CC\examples\ 
ejb\ejb20\warehouse, PID = 3684)
status = shipped
KDJE40054-I The cjclstartap command was stopped. (PID = 3684, exit status = 0)
 
C:\Program Files\Hitachi\Cosminexus\CC\examples\ejb\ejb20\warehouse>