3.12.3 JavaBeansリソースの実装
(1) インポート時の設定
サーバ管理コマンド(cjimportjbコマンド)でJavaBeansリソースをインポートするときに必要な設定と注意事項を示します。
(a) JavaBeansリソース属性ファイルの設定
JavaBeansリソース属性ファイルは,次に示す点に留意して作成してください。
- <res-type>タグおよび<class-name>タグには,JavaBeansリソースのクラス名,実装クラス名を指定します。<res-type>タグおよび<class-name>タグで同じ値を設定する場合は<res-type>タグは省略できます。
- <property-name>タグには,setメソッドおよびgetメソッドのメソッド名称を指定します。
- <property-type>タグには,setメソッドの引数の型を指定します。
<property-type>タグの値と実際の該当setメソッドの引数型と合わない場合はlookup時にエラーになります。
- <property-value>タグには,setメソッドの引数に渡す値を指定します。
JavaBeansリソース属性ファイルの設定例を示します。
<!DOCTYPE hitachi-javabeans-resource-property PUBLIC '-//Hitachi, Ltd.//DTD JavaBeans Resource Property 7.0//EN'
'http://localhost/hitachi-javabeans-resource-property_7_0.dtd'>
<hitachi-javabeans-resource-property>
<description></description>
<display-name>JavaBean_resource</display-name>
<class-name>com.mycompany.mypackage.MyJavaBean</class-name>
<runtime>
<property>
<property-name>UserName</property-name>
<property-type>java.lang.String</property-type>
<property-value>Hitachi</property-value>
</property>
<property>
<property-name>UserID</property-name>
<property-type>java.lang.String</property-type>
<property-value>01234567</property-value>
</property>
</runtime>
</hitachi-javabeans-resource-property> |
JavaBeansリソース属性ファイルのテンプレートファイル(jb_template.xml)は,次のディレクトリに格納されています。
<Cosminexusのインストールディレクトリ>¥CC¥admin¥templates
(b) -dオプションの使い方
インポート時に-dオプションを使用することで,アーカイブを作成しないで,ディレクトリ構成のままインポートできます。-dで指定するディレクトリは,インポートするディレクトリの最上位を指定します。
インポートするときの-dオプションの指定例を次に示します。この指定例では,パッケージ名がcom.mycompany.mypackageのMyJavaBeanクラスをインポートします。
-dで指定するディレクトリ¥
└ com¥
└ mycompany
└ mypackage
└ MyJavaBean.class |
-dオプションは指定されたディレクトリ下に存在するものをすべてインポートするので,不要なファイルはディレクトリ内に含めないでください。
- 複数のJavaBeansリソースをインポートする場合の注意
- インポート済みのJavaBeansリソースと同じ実装クラス名のJavaBeansリソースはインポートできません。先にインポートしたJavaBeansリソースを削除してからインポートするか,実装クラス名を変更し,作成し直してからインポートしてください。
(2) JavaBeansリソースの実装クラスの作成
JavaBeansで管理するデータ(プロパティ)を操作するメソッドを宣言します。データを登録する場合,setメソッド(set+プロパティ名)を設定します。データを参照する場合,getメソッド(get+プロパティ名)を設定します。
次に,JavaBeansリソースを登録,参照するクラスの実装例を示します。
package com.mycompany.mypackage;
public class MyJavaBean {
private String username;
private String userid;
public void setUserName(String user_name) {
this.username = user_name;
}
public void setUserID(String user_id) {
this.userid = user_id;
}
public String getUserName() {
return this.username;
}
public int getUserID() {
return this.userid;
}
} |
(3) アプリケーションの設定
JavaBeansリソースを利用するときに,アプリケーション側で必要な実装および定義について説明します。
(a) lookupの実装(JavaBeansリソース)
JavaBeansリソースを,ルックアップまたはDIを使用して取得します。ここでは,"java:comp/env"形式でルックアップする方法を示します。
Context initCtx = new InitialContext();
MyJavaBean jb = (MyJavaBean) initCtx.lookup("java:comp/env/bean/myJB"); |
JavaBeansリソースをルックアップできる範囲は,ほかのリソース同様に,同じJ2EEサーバプロセス内のアプリケーションです。
(b) DDの定義内容(JavaBeansリソース)
ルックアップを使用してJavaBeansリソースを取得する場合,ルックアップする名前や実装クラス名の情報をDD(ejb-jar.xmlまたはweb.xml)に定義します。設定するタグを次に示します。
- <resource-env-ref-name>タグに,ルックアップで"java:comp/env"形式に指定する値を指定します。
- <resource-env-ref-type>タグに,JavaBeansリソースの実装クラス名を指定します。
また,作成したアプリケーションをJ2EEサーバ上にデプロイするときに,ルックアップでの参照用の名称と実際の名称をlinked-toで結び付けます。この操作をするには,サーバ管理コマンド(cjsetapppropコマンド)を使用します。
- cjgetapppropで該当アプリケーションの属性ファイルを取得します。
- <resource-env-ref>タグに<linked-to>タグを追加して,利用するJavaBeansリソースの表示名を指定します。
- cjsetapppropで該当アプリケーションの属性ファイルを設定します。
次に,cjsetapppropで渡す属性ファイルの<resource-env-ref>タグの例を示します。
<resource-env-ref>
<resource-env-ref-name>bean/myJB</resource-env-ref-name>
<resource-env-ref-type>com.mycompany.mypackage.MyJavaBean</resource-env-ref-type>
<linked-to>JavaBean_resource</linked-to>
</resource-env-ref> |
(4) アプリケーションの開始と終了
JavaBeansリソースを利用するアプリケーションの開始,終了は,サーバ管理コマンドまたはManagement Serverで操作します。アプリケーションの開始方法については,マニュアル「Cosminexus アプリケーションサーバ アプリケーション設定操作ガイド」の「10.2.1 J2EEアプリケーションの開始」を参照してください。アプリケーションの終了方法については,マニュアル「Cosminexus アプリケーションサーバ アプリケーション設定操作ガイド」の「10.2.2 J2EEアプリケーションの停止」を参照してください。
アプリケーションサーバでは,JavaBeansリソースのサンプルプログラムを提供します。サンプルプログラムの概要および実行方法については,マニュアル「Cosminexus アプリケーションサーバ システム構築・運用ガイド」の「付録F.6 JavaBeansリソースのサンプルプログラム」を参照してください。