Hitachi

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


付録L.3 Enterprise Bean(アノテーション)のサンプルプログラム

アノテーションに対応したEnterprise Beanのサンプルプログラムは,次の3種類を提供します。

サンプルプログラムの概要と,実行手順を示します。

〈この項の構成〉

(1) アノテーション対応のEnterprise Bean(データベース接続なし)の概要

データベースに接続しない場合のアノテーション対応のEnterprise Beanサンプルプログラム「annotation_stateless」の構成を次に示します。

図L‒25 annotation_statelessの構成(アノテーション対応・データベース接続なし)

[図データ]

Webブラウザ経由でサーブレットにアクセスし,実行結果をブラウザ上に表示します。このサンプルプログラムでは,サーブレットからビジネスインタフェースを使用したEnterprise Beanを呼び出します。

アノテーション対応のEnterprise Beanの参照を取得するため,サーブレット側で@EJBアノテーションを使用します。

@EJB(beanName="MyConverter")
Converter converter;

実行例を次に示します。

図L‒26 アノテーション対応Enterprise Beanのサンプルプログラム(データベース接続なし)の実行例

[図データ]

(2) アノテーション対応のEnterprise Bean(データベース接続あり)の概要

データベースに接続する場合のアノテーション対応のEnterprise Beanサンプルプログラム「annotation_stateful」の構成を次に示します。

図L‒27 annotation_statefulの構成(アノテーション対応・データベース接続あり)

[図データ]

このサンプルプログラムでは,アノテーションを使用してデータベースに接続します。アノテーション対応のEnterprise Beanで,@Resourceアノテーションを使用してリソースを取得します。

@Resource(mappedName="DB_Connector_for_Cosminexus_Driver")
private DataSource ds;

サーブレット側からビジネスインタフェースを使用したStateful Session Beanをlookupするには,JNDIを使用します。

Context initial = new InitialContext();
duke = (Bank)initial.lookup("java:comp/env/ejb/Bank");

実行例を次に示します。

図L‒28 アノテーション対応Enterprise Beanのサンプルプログラム(データベース接続あり)の実行例

[図データ]

ユーザID,金額を入力して処理を実行します。指定できるユーザIDは001だけです。初期残高は10,000円です。

(3) Enterprise Bean(EJB2.0)から接続するアノテーション対応のEnterprise Beanの概要

アノテーション対応のEnterprise Beanにホームインタフェースの定義を追加することで,EJB2.0からアノテーション対応のEnterprise Beanを呼び出せます。この処理を実行するサンプルプログラム「annotation_home」の構成を次に示します。

図L‒29 annotation_homeの構成(アノテーション対応・EJB2.0からの接続)

[図データ]

このサンプルプログラムでは,EJB2.0のEnterprise Beanからローカルホームインタフェースが使用されているアノテーション対応のEnterprise Beanを呼び出します。EJB2.0のEnterprise Beanのコードでは,ローカルホームインタフェースをlookupします。

...
Context ctx = new InitialContext();
Converter2LocalHome home = (Converter2LocalHome)ctx.lookup("java:comp/env/ejb/Converter2");
...

アノテーション対応のEnterprise Beanのローカルホームインタフェースは,Enterprise Beanに@LocalHomeアノテーションを指定します。

@Stateless(name="MyConverter2")
@LocalHome(value=Converter2LocalHome.class)
public class Converter2EJB {
...
}

(4) Enterprise Bean(アノテーション)のサンプルプログラムの実行手順

サンプルプログラムの実行手順を示します。

(a) サンプルプログラムのコンパイル

サンプルで提供するバッチファイルを使用して,サンプルプログラムをコンパイルします。

アノテーション対応のEnterprise Bean(データベース接続あり/なし)のサンプルプログラムは,「compile.bat」を実行します。

EJB2.0のEnterprise Beanからアノテーション対応のEnterprise Beanへ接続するサンプルは,「compileBean.bat」および「compileClient.bat」を実行します。

(b) SQLの実行(アノテーション対応のEnterprise Bean(データベース接続ありの場合))

データベースに接続するサンプルプログラムの場合は,あらかじめSQLを実行してください。SQL文はサンプルで提供しています(createTable_Oracle.sql,createTable_HiRDB.sql)。

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

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

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

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

(e) J2EEサーバの起動

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

(f) リソースアダプタの設定(アノテーション対応のEnterprise Bean(データベース接続ありの場合))

データベースに接続するサンプルプログラムの場合は,リソースアダプタの設定が必要です。「付録L.1(4) リソースアダプタの設定」を参照してください。

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

サンプルで提供するバッチファイル(deployApp.bat)を使用して,アプリケーションをデプロイします。このバッチファイルは,アプリケーションのインポート,開始,一覧表示,およびEnterprise Beanのスタブ・インタフェースの取得をします。

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

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

アプリケーションごとに実行方法を示します。

  • アノテーション対応のEnterprise Bean(データベース接続なし)の場合

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

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

  • アノテーション対応のEnterprise Bean(データベース接続あり)の場合

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

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

  • Enterprise Bean(EJB2.0)から接続するアノテーション対応のEnterprise Beanの場合

    サンプルで提供するバッチファイル(testClient.bat)を使用してEJBクライアントアプリケーションを実行します。実行例を示します。

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

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

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

(j) J2EEサーバの終了

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