3.2. プログラミング・開発ガイド
本節には、以下の内容が含まれています。
- EJB3.1 プロジェクトの作成の一部画面の入力項目の説明
- セッションBeanの一部画面の入力項目の説明
- メッセージ駆動型Beanの一部画面の入力項目の説明
3.2.1. EJBアプリケーションの作成
3.2.1.1. EJB作成ウィザード
EJB プロジェクト 画面の説明
下図が EJB プロジェクト 画面です。

図3.2.1.1-1
入力内容について、以下に記述します。
表3.2.1.1-1
|
オプション
|
説明
|
デフォルト
|
|
プロジェクト名
|
新規に作成するプロジェクト名を入力します。
|
空白
|
|
ディレクトリー(Y)
|
プロジェクトの格納パスを入力します。
|
利用不可です。「デフォルトの使用」がOFFの場合は利用可能です。
|
|
EJB モジュールパージョン
|
1.1、2.0、2.1、3.0と3.1の選択肢があります。
|
3.1
|
|
ターゲット・ランタイム
|
作成したランタイムを選択します。
|
作成したランタイムがない場合はデフォルト値が<なし>です。作成したランタイムがある場合は作成したものが表示されます。
|
|
構成
|
<カスタム>と<最小構成>と<デフォルト構成>という三つの値が選択可能です。
|
デフォルト構成
|
|
EAR プロジェクト名
|
作成したEARを選択します。EARプロジェクト名はデフォルト「プロジェクト名+EAR」です。
|
利用不可です。 EAR
にプロジェクトを追加 がONの場合は利用可能です。
|
プロジェクト・ファセット画面の説明
下図が プロジェクト・ファセット
画面です。

図3.2.1.1-2

図3.2.1.1-3
入力内容について、以下に記述します。
表3.2.1.1-2
|
オプション
|
説明
|
デフォルト
|
|
構成
|
「構成」の設定です。
|
デフォルト構成
|
|
プロジェクト・ファセット
|
ターゲット・ランタイムがサポートするモジュールのタイプです。
|
ターゲット・ランタイムのサポートするモジュールのタイプが表示されます。
|
|
パージョン
|
ターゲット・ランタイムがサポートするモジュールのバージョンです。
|
ターゲッ・ランタイムのサポートするモジュールのバージョンが表示されます。
|
|
詳細
|
作成するプロジェクトの説明を表示します。
|
EJB モジュール
3.1の説明文が表示されます。
|
|
ランタイム
|
WebOTXに作成されたサーバーランタイムのリストです。
|
アプリケーションクライアント設定ページに選択されたランタイムが選択されます。
|
Java 画面の説明
下図が Java 画面です。

図3.2.1.1-4
入力内容について、以下に記述します。
表3.2.1.1-3
|
オプション
|
説明
|
デフォルト
|
|
ソース・フォルダー
|
ビルド・パス上のソースフォルダ名。
|
ejbModule
|
|
デフォルト出力フォルダー
|
デフォルト出力フォルダー名を入力します。
|
build\classes
|
EJB モジュール画面の説明
下図が EJB モジュール 画面です。

図3.2.1.1-5
入力内容について、以下に記述します。
表3.2.1.1-4
|
オプション
|
説明
|
デフォルト
|
|
名前
|
クライアントプロジェクト名です。
|
プロジェクト名+Client
|
|
クライアント JAR URI
|
クライアントJAR URIを設定します。
|
プロジェクト名+Client.jar
|
|
ejb-jar.xmlデプロイメント記述子の生成
|
プロジェクトに配備記述子を作成します。
|
OFF
|
Caution
プロジェクト・ファセット 画面で EJB
モジュール のバージョンが「2.1」以下の場合、デプロイメント記述子の生成
チェックボックスは表示されません。
3.2.2. セッションBeanの作成
EJB 3.x セッション Bean の作成 画面の説明
下図が EJB 3.x セッション
Bean の作成 画面です。

図3.2.2-1
入力内容について、以下に記述します。
表3.2.2-1
|
オプション
|
説明
|
デフォルト
|
|
EJB プロジェクト
|
新規作成したプロジェクトを選択します。
|
選択されたプロジェクト名です。
|
|
ソース・フォルダー
|
ソースフォルダを指定します。
|
選択されたプロジェクトのソースフォルダです。
|
|
Java パッケージ
|
パッケージ名を入力します。
|
空白、あるいは選択されたパッケージ名です。
|
|
クラス名
|
クラス名を入力します。
|
空白
|
|
スーパークラス
|
スーパークラスを入力します。
|
空白
|
|
状態タイプ
|
ステートのタイプを選択します。
ステートレス、ステートフルとSingletonの三つの選択肢があります。
|
ステートレス
|
|
ビジネス・インタフェースの作成
|
作成するビジネス・インタフェースを選択します。また、インタフェース名を入力します。
|
ローカルを選択されている状態です。
インタフェース名は空白です。
|
EJB 3.x セッション Bean の作成 画面の説明
下図が EJB 3.x セッション
Bean の作成 画面です。

図3.2.2-2
入力内容について、以下に記述します。
表3.2.2-2
|
オプション
|
説明
|
デフォルト
|
|
Bean 名
|
Bean名を入力します。
|
前出のページで入力したクラス名。
|
|
マップされた名前
|
マップされる名を入力します。
|
空白
|
|
トランザクション・タイプ
|
トランザクションのタイプを選択します、
コンテナーとBean二つの選択肢があります。
|
コンテナーを選択しています 。
|
|
インタフェース
|
ビジネス・インタフェースを新規追加します。
|
前出のページで選択した「ビジネス・インタフェースの作成」の内容
|
|
どのメソッド・スタブを作成しますか?
|
自動的に作成するメソッドを選択します。
|
ON
|
3.2.3. メッセージ駆動型Beanの作成
EJB 3.x メッセージ駆動型 Bean の作成 画面の説明
下図が EJB 3.x
メッセージ駆動型 Bean の作成 画面です。

図3.2.3-1
入力内容について、以下に記述します。
表3.2.3-1
|
オプション
|
説明
|
デフォルト
|
|
EJB プロジェクト
|
新規作成するプロジェクトを選択します。
|
選択されたプロジェクト名です。
|
|
ソース・フォルダー
|
ソースフォルダを指定します。
|
選択されたプロジェクトのソースフォルダです。
|
|
Java パッケージ
|
パッケージ名を入力します。
|
空白、あるいは選択されたパッケージ名です。
|
|
クラス名
|
クラス名を入力します。
|
空白
|
|
スーパークラス
|
スーパークラスを入力します。
|
空白
|
|
宛先名
|
デスティネーション名を入力します。
|
空白
|
|
JMS
|
JMSのプロトコルの選択の指定。
|
ON
|
|
宛先タイプ
|
デスティネーションのタイプを選択します。
|
キュー
|
EJB 3.x メッセージ駆動型 Bean の作成 画面の説明
下図が EJB 3.x
メッセージ駆動型 Bean の作成 画面です。

図3.2.3-2
入力内容について、以下に記述します。
表3.2.3-2
|
オプション
|
説明
|
デフォルト
|
|
Bean 名
|
Bean名を入力します。
|
前出のページで入力したクラス名
|
|
トランザクション・タイプ
|
トランザクションのタイプを選択します、
コンテナーとBean二つの選択肢があります
|
コンテナー
|
|
インタフェース
|
ビジネス・インタフェースを追加します。
|
Javax.jms.MessageListener
|
|
どのメソッド・スタブを作成しますか?
|
自動的に作成するメソッドを選択します。
|
ON
|
3.2.4. EJB Application Bundle
EJB Application Bundle プロジェクトの作成
- EJBアプリケーションを作成します。
- マニフェストファイル(WebContent/META-INF/MANIFEST.MF)に次の記述を追加します。
- OSGiバンドルのメタデータ
- Export-EJBヘッダ
記述を追加したマニフェストファイルの例を以下に示します。
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: EJB_OSGi_Proj002
Bundle-SymbolicName: EJB_OSGi_Proj002
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: NEC
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: javax.ejb
Export-EJB: ALL
EJB Application Bundle プロジェクトの配備
配備コマンド実行時に "--type osgi" オプションを指定します。
「サーバで実行」機能を用いた配備での "--type osgi" オプションの指定方法については、
[ アプリケーション開発ガイド(共通)
> 6. サーバツール
> 6.2. サーバで実行
> 6.2.1. WebOTXの設定
]
の、コマンドの設定をご覧ください。
3.2.5. EJB アノテーション
EJB カテゴリに所属するアノテーションについては、
[ アプリケーション開発ガイド(共通)
> 8. アノテーション定義支援ツール
> 8.4. サポートするアノテーション
> 8.4.2. EJBアノテーション
]
をご覧ください。
3.2.6. JPAアノテーション
JPA カテゴリに所属するアノテーションについては、
[ アプリケーション開発ガイド(共通)
> 8. アノテーション定義支援ツール
> 8.4. サポートするアノテーション
> 8.4.3. JPAアノテーション
]
をご覧ください。
3.2.7. EJBコンポーネントのデプロイ
3.2.7.1. 統合運用管理ツールを利用したデプロイ
EJBコンポーネントの配備には「統合運用管理ツール」を使用することができます。WebOTX
Developerのパースペクティブとして組み込まれます。統合運用管理ツールの使用方法についての詳細は、
「統合運用管理ツール(WebOTX Administrator) 」を参照してください。
3.2.7.2. 「サーバで実行」機能を利用したデプロイ
アーカイブ、デプロイは「サーバで実行」により自動的に行われるため、特別な操作は不要です。
Memo
「サーバで実行」に失敗する場合、
[ アプリケーション開発ガイド(共通)
> 6. サーバツール
> 6.6. 注意制限事項
> 6.6.2. 制限事項
> 6.6.2.1. 「サーバで実行」に失敗する (For input string: "m")
]
をご覧ください。
3.2.7.3. 運用管理コマンド(otxadmin)を利用したデプロイ
EJBコンポーネントの配備には「運用管理コマンド(otxadmin)」を使用することができます。運用管理コマンド(otxadmin)の使用方法についての詳細は、「リファレンス集 運用管理・設定編」-
「運用管理コマンドリファレンス」を参照してください。
3.2.8. ご参考) EJB2.1アプリケーション
本節には、以下の内容が含まれています。
- EJBプロジェクトの作成の一部画面の入力項目の説明
- セッションBeanの一部画面の入力項目の説明
- メッセージ駆動型Beanの一部画面の入力項目の説明
- コンテナー管理エンティティーBean作成画面の説明
- XDocletタグの一覧(クラスレベル)
- XDocletタグの一覧(メソッドレベル)
- 既存EJBプロジェクトからWTPプロジェクトへのエクスポート
3.2.8.1. EJB プロジェクトの作成画面の説明
EJB2.1プロジェクトの作成時、EJB3.1プロジェクトと同じウィザードを利用しますので、
[ 3.2.1.1. EJB作成ウィザード ]
を参照してください。
以下の2点をご注意ください。
Caution
1.
プロジェクト・ファセット画面でEJBモジュール
のバージョンを「2.1」にしてください。
2. EJB
モジュール 画面では デプロイメント記述子の生成
チェック・ボックスが表示されません。
3.2.8.2. セッションBean作成画面の説明
EnterpriseJavaBean の作成画面の説明
下図が EnterpriseJavaBean
の作成 画面です。

図3.2.8.2-1
入力内容について、以下に記述します。
表3.2.8.2-1
|
オプション
|
説明
|
デフォルト
|
|
セッションBean ラジオボタン
|
セッションBeanを作成します。
|
選択状態
|
|
メッセージ駆動型Bean ラジオボタン
|
メッセージ駆動型Beanを作成します。
|
非選択状態
|
|
コンテナー管理エンティティーBean ラジオボタン
|
エンティティーBeanを作成します。
|
非選択状態
|
|
設定
|
XDocletを指定します。
|
|
EnterpriseJavaBean 画面の説明
下図が EnterpriseJavaBean
画面です。

図3.2.8.2-2
入力内容について、以下に記述します。
表3.2.8.2-2
|
オプション
|
説明
|
デフォルト
|
|
プロジェクト
|
新規作成したプロジェクトを選択します。
|
選択されたプロジェクト名です。
|
|
ソース・フォルダー
|
ソースフォルダを指定します。
|
選択したプロジェクトのソースフォルダです。
|
|
Java パッケージ
|
パッケージ名を入力します。
|
空白、あるいは選択されたパッケージ名です。
|
|
クラス名
|
クラス名を入力します。
|
MyBean
|
|
スーパークラス
|
スーパークラスを入力します。
|
Java.lang.Object
|
EnterpriseJavaBean 画面の説明
下図が EnterpriseJavaBean 画面です。

図3.2.8.2-3
入力内容について、以下に記述します。
表3.2.8.2-3
|
オプション
|
説明
|
デフォルト
|
|
EJB 名
|
EJB名を入力します。
|
Bean名
|
|
JNDI 名
|
JNDI名を入力します。
|
Bean名
|
|
表示名
|
表示名を入力します。
|
Bean名
|
|
説明
|
説明を入力します。
|
An EJB named +Bean名
|
|
状態タイプ
|
sessionの状態を選択し、プルダウンリストから、Stateless と Stateful
という二つの値が選択可能です。
|
Stateless
|
|
トランザクション・タイプ
|
トランザクションタイプを指定します。Container と Beanという二つの値が選択可能です。
|
Container
|
EnterpriseJavaBean 画面の説明
下図が EnterpriseJavaBean 画面です。

図3.2.8.2-4
入力内容について、以下に記述します。
表3.2.8.2-4
|
オプション
|
説明
|
デフォルト
|
|
修飾子
|
付加したい修飾子を選択します。
|
Public: ON
Abstract: ON
Final: OFF
|
|
インタフェース
|
インタフェースを追加します。
|
javax.ejb.SessionBean
|
|
どのメソッド・スタブを作成しますか?
|
自動的に作成したいメソッドを選択します。
|
public static void
main(String[] args): OFF
継承された抽象メソッド: ON
スーパークラスからのコンストラクター: ON
|
3.2.8.3. メッセージ駆動型Bean作成画面の説明
EnterpriseJavaBeanの作成画面の説明
下図が EnterpriseJavaBeanの作成 画面です。

図3.2.8.3-1
入力内容について、以下に記述します。
表3.2.8.3-1
|
オプション
|
説明
|
デフォルト
|
|
セッションBean ラジオボタン
|
セッションBeanを作成します。
|
選択状態
|
|
メッセージ駆動型Bean ラジオボタン
|
メッセージ駆動型Beanを作成します。
|
非選択状態
|
|
コンテナー管理エンティティーBean ラジオボタン
|
エンティティーBeanを作成します。
|
非選択状態
|
|
設定
|
XDocletを指定します。
|
|
EnterpriseJavaBean 画面の説明
下図が EnterpriseJavaBean 画面です。

図3.2.8.3-2
入力内容について、以下に記述します。
表3.2.8.3-2
|
オプション
|
説明
|
デフォルト
|
|
プロジェクト
|
新規作成するプロジェクトを選択します。
|
選択されたプロジェクト名です。
|
|
ソース・フォルダー
|
ソースフォルダを指定します。
|
選択したプロジェクトのソースフォルダです。
|
|
Java パッケージ
|
パッケージ名を入力します。
|
空白、あるいは選択されたパッケージ名です。
|
|
クラス名
|
クラス名を入力します。
|
MyBean
|
|
スーパークラス
|
スーパークラスを入力します。
|
Java.lang.Object
|
EnterpriseJavaBean 画面の説明
下図が EnterpriseJavaBean 画面です。

図3.2.8.3-3
入力内容について、以下に記述します。
表3.2.8.3-3
|
オプション
|
説明
|
デフォルト
|
|
EJB 名
|
EJB名を入力します。
|
Bean名
|
|
JNDI 名
|
JNDI名を入力します。
|
Bean名
|
|
表示名
|
表示名を入力します。
|
Bean名
|
|
説明
|
説明を入力します。
|
An EJB named +Bean名
|
|
宛先
|
宛先を選択し、プルダウンリストから、QueueとTopicという二つの値が選択可能です。
|
Queue
|
|
トランザクション・タイプ
|
トランザクションキタイプを選択し、プルダウンリストから、ContainerとBeanの二つの値が選択可能です。
|
Container
|
EnterpriseJavaBean 画面の説明
下図が EnterpriseJavaBean 画面です。

図3.2.8.3-4
入力内容について、以下に記述します。
表3.2.8.3-4
|
オプション
|
説明
|
デフォルト
|
|
修飾子
|
修飾子を選択します。
|
Public: ON
Abstract: OFF
Final: OFF
|
|
インタフェース
|
インタフェースを追加します。
|
javax.ejb.MessageDrivenBean
javax.jms.MessageListener
|
|
どのメソッド・スタブを作成しますか?
|
自動的に作成したいメソッドを選択します。
|
public static void
main(String[] args): OFF
継承された抽象メソッド: ON
スーパークラスからのコンストラクター: ON
|
3.2.8.4. コンテナー管理エンティティーBean作成画面の説明
EnterpriseJavaBeanの作成画面の説明
下図が EnterpriseJavaBeanの作成 画面です。

図3.2.8.4-1
入力内容について、以下に記述します。
表3.2.8.4-1
|
オプション
|
説明
|
デフォルト
|
|
セッションBean ラジオボタン
|
セッションBeanを作成します。
|
選択状態
|
|
メッセージ駆動型Bean ラジオボタン
|
メッセージ駆動型Beanを作成します。
|
非選択状態
|
|
コンテナー管理エンティティーBean ラジオボタン
|
エンティティーBeanを作成します。
|
非選択状態
|
|
設定
|
XDocletを指定します。
|
|
EnterpriseJavaBean 画面の説明
下図が EnterpriseJavaBean 画面です。

図3.2.8.4-2
入力内容について、以下に記述します。
表3.2.8.4-2
|
オプション
|
説明
|
デフォルト
|
|
プロジェクト
|
新規作成するプロジェクトを選択します。
|
選択されたプロジェクト名です。
|
|
ソース・フォルダー
|
ソースフォルダを指定します。
|
選択したプロジェクトのソースフォルダです。
|
|
Java パッケージ
|
パッケージ名を入力します。
|
空白、あるいは選択されたパッケージ名です。
|
|
クラス名
|
クラス名を入力します。
|
MyBean
|
|
スーパークラス
|
スーパークラスを入力します。
|
Java.lang.Object
|
CMP エンティティー Bean 画面の説明
下図が CMP
エンティティー Bean 画面です。

図3.2.8.4-3
入力内容について、以下に記述します。
表3.2.8.4-3
|
オプション
|
説明
|
デフォルト
|
|
EJB 名
|
EJB名を入力します。
|
Bean名
|
|
スキーマ
|
スキーマを入力します。
|
MySCHEMA
|
|
表示名
|
表示名を入力します。
|
Bean名
|
|
説明
|
説明を入力します。
|
An EJB named +Bean名
|
|
CMP バージョン
|
「1.x」と 「2.x」という二つの値が選択可能です。
|
2.x
|
|
ユースケース
|
「テープルから属性をインポート」と「新規属性の定義」という二つの値が選択可能です。
|
テープルから属性をインポート
|
新規 JDBC 接続 画面の説明
下図が 新規 JDBC 接続 画面です。
既にJDBC接続定義が作成されている場合は、以下の画面が表示されます。

図3.2.8.4-4
新たなJDBC接続定義を作成する場合は、
新規... をクリックします

図3.2.8.4-5
ウィザードに従って、JDBC接続定義を新規作成してください。
詳細なステップは
[ 3.1.16.2. JPA環境の準備 ]
を参照してください。
CMP 属性画面の説明
下図が CMP 属性画面です。
CMP
エンティティーBean画面でユースケースの項目にテープルから属性をインポート
を選択すると、以下の画面が表示されます。

図3.2.8.4-6
エンティティーBeanの CMP 属性を作成する場合は、
追加 をクリックして、テーブル名を入力します。

図3.2.8.4-7
入力内容について、以下に記述します。
表3.2.8.4-4
|
オプション
|
説明
|
デフォルト
|
|
テープル
|
「テープル」フィールドに指定する名前を入力します。
|
空白
|
|
名前
|
指定する名前を入力します。
|
aField
|
|
列
|
指定する列を入力します。
|
ACOLUMN
|
|
タイプ
|
指定するタイプを入力します。
|
java.lang.String
|
|
JDBC 型
|
「タイプ」の対応するデータの型を選択します。
|
VARCHAR
|
|
SQL 型
|
「タイプ」の対応するデータの型を選択します。
|
VARCHAR
|
|
サイズ
|
サイズを入力します。
|
0
|
|
桁数
|
桁数を入力します。
|
空白
|
|
読み取り
|
値の変更の可否を指定します。
|
OFF
|
|
主キー
|
属性をエンティティー Bean
のキー・フィールドにする場合は、「主キー」チェック・ボックスを選択します。
|
OFF
|
EnterpriseJavaBean 画面の説明
下図が EnterpriseJavaBean 画面です。

図3.2.8.4-8
入力内容について、以下に記述します。
表3.2.8.4-5
|
オプション
|
説明
|
デフォルト
|
| 修飾子 |
修飾子を選択します。
|
Public: ON
Abstract: ON
Final: OFF
|
| インタフェース |
インタフェースを追加します。
|
javax.ejb.EntityBean
|
| どのメソッド・スタブを作成しますか? |
自動的に作成したいメソッドを選択します。
|
public static void
main(String[] args): OFF
継承された抽象メソッド: ON
スーパークラスからのコンストラクター: ON
|
3.2.8.5. XDocletタグの一覧(クラスレベル)
EJBの実装クラス宣言の前に記述するXDocletタグの一覧です。XDocletによるビルドによって、記述されたXDocletタグの情報を元に配備記述子を作成します。
@ejb.bean(0..1)
EJBの情報を指定します。
適用範囲:全てのEJB型。
表3.2.8.5-1
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
name
|
text
|
|
配備記述子ファイル ejb-jar.xml にBeanの名前を提供する。
|
○
|
|
description
|
text
|
|
Beanの説明。
|
×
|
|
display-name
|
text
|
|
Beanの表示名。
|
×
|
|
small-icon
|
text
|
|
Bean用の小さいアイコン。
|
×
|
|
large-icon
|
text
|
|
Bean用の大きなアイコン。
|
×
|
|
generate
|
bool
|
|
このクラスをEJBリストに含めたくない場合、false を設定する。
これは抽象EJBに対して有効である。これを利用して、抽象EJBが配備記述子で、誤って指定されることを防ぐことができる。
デフォルト値
true
|
×
|
|
jndi-name
|
text
|
Remote Session とEntity
Beans
|
ベンダ固有の配備記述子に利用する JNDI
の名前。
|
×
|
|
local-jndi-name
|
text
|
Local Session, Entity
Beans
|
ベンダ固有の配備記述子に利用する JNDI
の名前。ローカル EJB の JNDI名である。
|
×
|
|
view-type
|
text
|
Session, Entity
Beans
|
Beanがサポートする view-type
を示す。
"all"、"remote-service-endpoint"、"local-service-endpoint"、"service-endpoint"
は、 EJB2.1のSession Beanに対してのみ有効である。
有効値
local
remote
both
service-endpoint
local-service-endpoint
remote-service-endpoint
all
デフォルト値
EJB1.1の場合 "remote"
EJB2.0+の場合 "both"
|
×
|
|
type
|
text
|
SessionとEntitybeans
|
Beanの型を定義する。
有効値
CMP
BMP
Stateless
Stateful
デフォルト値
CMP (for javax.ejb.EntityBean)
Stateless (for javax.ejb.SessionBean)
|
○
|
|
transaction-type
|
text
|
SessionとMessage-drivenbeans
|
Beanのトランザクション(transaction)型を定義する。
有効値
Container
Bean
デフォルト値
Container
|
×
|
|
reentrant
|
bool
|
Entity Beans
|
Entity Bean
が再入可能であるか、否かを定義する。
デフォルト値:true
|
×
|
|
cmp-version
|
text
|
Entity Beans
|
CMPのバージョンを定義する。
有効値
1.x
2.x
デフォルト値
1.x
|
×
|
|
schema
|
text
|
Entity Beans
|
Beanの抽象スキーマ名を定義する。
|
×
|
|
primary-field
|
text
|
Entity Beans
|
Beanのため主キーを定義する。
|
×
|
|
use-soft-locking
|
bool
|
Entity Beans
|
デフォルト値: false
|
×
|
|
message-selector
|
text
|
Message-driven
beans
|
メッセージ駆動型
Beanのためのメッセージセレクタを定義する。
|
×
|
|
acknowledge-mode
|
text
|
Message-driven
beans
|
メッセージ駆動型
Beanのための応答確認モードを定義する。
有効値
Auto-acknowledge
Dups-ok-acknowledge
デフォルト値
Auto-acknowledge
|
×
|
|
destination-type
|
text
|
Message-driven
beans
|
メッセージ駆動型
Beanの宛先のタイプを定義する。
有効値
javax.jms.Queue
javax.jms.Topic
デフォルト値
javax.jms.Queue
|
×
|
|
subscription-durability
|
text
|
Message-driven
beans.
|
メッセージ駆動型
Beanのメッセージの耐久性を定義する。
有効値
Durable
NonDurable
デフォルト値
Durable
|
×
|
|
destination-jndi-name
|
text
|
Message-driven
beans
|
宛先の queue/topic の JNDI
名を定義する。
|
×
|
|
connection-factory-jndi-name
|
text
|
Message-driven
beans
|
JMS Connection Factory
の JNDI 名を定義する。
|
×
|
|
remote-business-interface
|
text
|
Session and Entity
Beans
|
Beanのリモート
ビジネス・インタフェースを定義する。
|
×
|
|
local-business-interface
|
text
|
Session and Entity
Beans
|
Beanのローカル
ビジネス・インタフェースを定義する。
|
×
|
|
impl-class-name
|
text
|
All EJB Types.
|
Beanの実装クラスの完全修飾名を提供する。配備記述子ファイルejb-jar.xmlのejb-class要素の中で利用される。
|
×
|
|
service-endpoint-business-interface
|
text
|
Session Beans
|
Beanのためservice-endpointbusiness インタフェースを提供する。
|
×
|
@ejb.dao (0..1)
データ・アクセス・オブジェクトを定義します。
適用範囲:Entity bean
表3.2.8.5-2
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
class
|
text
|
|
DAO インタフェースの完全修飾名。
|
×
|
|
pattern
|
text
|
|
パッケージが指定された、無制限の DAO
インタフェース名を構築するために用いられるパターンを定義する。
|
×
|
|
package
|
text
|
|
DAO
インタフェースのパッケージを定義する。
|
×
|
|
generate
|
bool
|
|
DAO
インタフェースを生成するか否かを宣言する。
デフォルト値
true
|
×
|
|
impl-class
|
text
|
|
DAO
インタフェースを実現するクラスの完全修飾名。
|
×
|
|
impl-jndi
|
text
|
|
DAO
インタフェースの完全修飾名を含む、JNDI の環境リファレンスを指定する。
|
×
|
|
create-methods
|
text
|
|
Createメソッドが自動的に DAO
インタフェースに含まれるように指定する。
デフォルト値
true
|
×
|
|
finder-methods
|
text
|
|
Finder メソッドが自動的に DAO
インタフェースに含まれるように指定する。
デフォルト値
true
|
×
|
@ejb.data-object (0..1)
生成されたデータオブジェクトの構成プロパティを定義します。
適用範囲:Entity Beans中にのみ適用されます。
表3.2.8.5-3
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
extends
|
text
|
|
生成された大量データクラスが継承すべきクラスを宣言する。
|
×
|
@ejb.ejb-external-ref (0..*)
異なる EJB の
jarファイル中のBeanへの、EJBリファレンスを定義します。
適用範囲:全てのEJB型。
表3.2.8.5-4
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
view-type
|
text
|
|
関連インタフェースを指定する。
有効値
local
remote
|
○
|
|
link
|
text
|
|
参照した
EJBへのejb-linkを定義する。
|
×
|
|
ref-name
|
text
|
|
Beanを参照する際の名前。
例えば、Customer という Bean を、java:comp/env/ejb/Customer
として参照したい場合、ejb/Customer を指定すればよい。
|
○
|
|
ejb-name
|
text
|
|
Beanを参照する際の名前。
例えば、Customer という Bean を、java:comp/env/ejb/Customer
として参照したい場合、ejb/Customer を指定すればよい。
この引数は、旧互換用の引数です。新しくアプリケーションを開発する際には、ref-name引数を使用してください。
デフォルト値
ejb/[ejb-name]
ここで、[ejb-name] は参照するBeanの名前。
|
×
|
|
type
|
text
|
|
参照する EJBのタイプ。
有効値
Entity
Session
デフォルト値
Entity
|
○
|
|
home
|
text
|
|
参照するBeanのホーム・インタフェースのクラスの完全修飾名。
|
×
|
|
business
|
text
|
|
参照するBeanのビジネス・インタフェースのクラスの完全修飾名。
|
○
|
|
remote
|
text
|
|
view-type 引数が remote
の場合に限り有効。
この引数は、旧互換用の引数です。新しくアプリケーションを開発する際には、business引数を使用してください。
|
×
|
@ejb.ejb-ref (0..*)
EJB名が「ejb-name」であるBeanへのEJBリファレンスを定義します。
ref-nameは省略可能で、省略された場合、参照名はリモート参照の [ejb-name]と、ローカル参照の
[ejb-name] となります。
注意:参照したクラス(ejbdocletクラス)は、EJBで利用しない場合も、インポートしなければなりません。
表3.2.8.5-5
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
ejb-name
|
text
|
|
EJBの名前。
|
○
|
|
view-type
|
text
|
|
関連インタフェースを指定する。
有効値
local
remote
デフォルト値
remote
|
○
|
|
ref-name
|
text
|
|
参照されたbeanの名前。
|
×
|
@ejb.env-entry (0..*)
EJBのため環境エントリを定義します。
適用範囲:全てのEJB型。
表3.2.8.5-6
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
name
|
text
|
|
環境エントリの名前。
|
○
|
|
description
|
text
|
|
環境エントリの説明。
|
×
|
|
type
|
text
|
|
環境エントリの型。
有効値
java.lang.Boolean
java.lang.Byte
java.lang.Character
java.lang.String
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double
デフォルト値
java.lang.String
|
×
|
|
value
|
text
|
|
環境エントリの値。
|
×
|
@ejb.facade (0..1)
このタグは省略可能で、entity bean に session facade EJB
の生成を許可します。
適用範囲:全てのEntitybean
表3.2.8.5-7
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
name
|
text
|
|
生成された facade EJB
の名前。
|
×
|
|
description
|
text
|
|
Beanの説明。
|
×
|
|
display-name
|
text
|
|
Beanの表示名。
|
×
|
|
small-icon
|
text
|
|
Bean用の小さいアイコン。
|
×
|
|
large-icon
|
text
|
|
Bean用の大きなアイコン。
|
×
|
|
jndi-name
|
text
|
Remote Session and
Entity Beans
|
ベンダ固有の配備記述子に利用される可能性のあるJNDI 名。
|
×
|
|
local-jndi-name
|
text
|
|
ベンダ固有の配備記述子に利用される可能性のあるJNDI 名。 ローカル EJB の JNDI 名。
|
×
|
|
view-type
|
text
|
|
関連インタフェースを指定する。
有効値
local
remote
both
デフォルト値
remote
|
×
|
|
type
|
text
|
|
Beanのタイプを定義する。
有効値
Stateless
Stateful
デフォルト値
Stateless
|
○
|
|
transaction-type
|
text
|
|
Beanのトランザクションのタイプを定義する。
有効値
Container
Bean
デフォルト値
Container
|
×
|
@ejb.finder (0..*)
ホーム・インタフェースのためのfinderメソッドを定義します。
適用範囲:全てのEntitybean
表3.2.8.5-8
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
view-type
|
text
|
|
finder が定義される
ホーム・インタフェースを制限する。
有効値
local
remote
both
デフォルト値
both
|
×
|
|
description
|
text
|
|
finderの説明。
|
×
|
|
signature
|
text
|
|
メソッドの型を定義する。 例えば、
"java.util.Collection findAll()" など。
戻り値の型は完全修飾名でなければならない。
|
○
|
|
unchecked
|
bool
|
Entity Beans
|
finderを検証しないことを許可するフラグ。
デフォルト値
true
|
×
|
|
role-name
|
text
|
|
カンマで区切りした、finderメソッドを呼び出すロールのリスト。
|
×
|
|
query
|
text
|
Entity Beans
|
finderメソッドのJB-QL
クエリー。
|
×
|
|
result-type-mapping
|
text
|
Entity Beans
|
finderメソッドの結果のタイプのマップ。
有効値
none
Local
Remote
デフォルト値
none
|
×
|
|
transaction-type
|
text
|
|
このメソッドのため設定されたトランザクション型のプロパティを宣言する。
|
×
|
|
method-intf
|
text
|
|
finderメソッドが設定できるインタフェース(Home または LocalHome)を宣言する。
有効値
Home
LocalHome
デフォルト値
Home
|
×
|
@ejb.home (0..1)
EntityまたはSessionBeanのホーム・インタフェースの情報を提供します。
適用範囲:Entity と Session Bean
表3.2.8.5-9
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
extends
|
text
|
|
生成した home
インタフェースが継承すべきインタフェースを宣言する。
デフォルト値
javax.ejb.EJBHome
|
×
|
|
local-extends
|
text
|
Session and Entity
Beans
|
生成した local home
インタフェースが継承すべきインタフェースを宣言する。
デフォルト値
javax.ejb.EJBLocalHome
|
×
|
|
generate
|
text
|
|
生成されるべきホーム・インタフェースを宣言する。
有効値
local
remote
デフォルト値
local,remote
|
×
|
|
remote-class
|
text
|
|
リモート・ホーム・インタフェースの完全修飾名。
|
×
|
|
local-class
|
text
|
Session and Entity
Beans
|
ローカル・ホーム・インタフェースの完全修飾名。
|
×
|
|
remote-pattern
|
text
|
|
リモート・ホーム・インタフェースの非修飾名を決定する為に利用されるパターン。
remote-classが存在しない場合にのみ利用される。
|
×
|
|
local-pattern
|
text
|
Session and Entity
Beans
|
ローカル・ホーム・インタフェースの非修飾名を決定する為に利用されるパターン。
local-classが存在しない場合にのみ利用される。
|
×
|
|
pattern
|
text
|
|
ローカルまたは、リモートのホーム・インタフェースの非修飾名を決定する為に利用されるパターン。 Bean の
-class と -pattern タグが存在しない場合に利用される。
|
×
|
|
remote-package
|
text
|
|
リモート・ホーム・インタフェースを含むパッケージ。
|
×
|
|
local-package
|
text
|
|
ローカル・ホーム・インタフェースを含むパッケージ。
|
×
|
|
package
|
text
|
|
ホーム・インタフェースが置かれるパッケージ。
|
×
|
@ejb.interface (0..1)
EntityまたはSessionBeanに関するコンポーネントのインタフェースの情報を提供します。
適用範囲:EntityとSessionbean
表3.2.8.5-10
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
extends
|
text
|
|
生成された
リモート・インタフェースが継承すべきインタフェースを宣言する。
デフォルト値
javax.ejb.EJBObject
|
×
|
|
local-extends
|
text
|
Session and Entity
Beans
|
生成されたローカル・インタフェースが継承すべきインタフェースを宣言する。
デフォルト値
javax.ejb.EJBLocalObject
|
×
|
|
service-endpoint-extends
|
text
|
|
生成されたサービス・エンドポイント・インタフェースが継承すべきインタフェースを宣言する。
デフォルト値
java.rmi.Remote
|
×
|
|
generate
|
text
|
|
生成されるべきインタフェースを宣言する。
有効値
local
remote
service-endpoint
デフォルト値
local,remote
|
×
|
|
remote-class
|
text
|
|
リモート・インタフェースの完全修飾名。
|
×
|
|
local-class
|
text
|
Session and Entity
Beans
|
ローカル・インタフェースの完全修飾名。
|
×
|
|
service-endpoint-class
|
text
|
Session Beans, EJB
2.1
|
サービス・エンドポイント・インタフェースの完全修飾名。
|
×
|
|
remote-pattern
|
text
|
|
リモート・インタフェースの非修飾名を決定する為に利用されるパターン。
remote-classが存在しない場合にのみ利用される。
|
×
|
|
local-pattern
|
text
|
Session and Entity
Beans
|
ローカル・インタフェースの非修飾名を決定する為に利用されるパターン。
local-classが存在しない場合にのみ利用される。
|
×
|
|
service-endpoint-pattern
|
text
|
Session Beans, EJB
2.1
|
サービス・エンドポイント・インタフェースの非修飾名を決定する為に利用されるパターン。
service-endpoint-classが存在しない場合にのみ利用される。
|
×
|
|
pattern
|
text
|
|
ローカルまたは、リモートのインタフェースの非修飾名を決定する為に利用されるパターン。 Bean の
-class と -pattern タグが存在しない場合に利用される。
|
×
|
|
remote-package
|
text
|
|
リモート・インタフェースを含むパッケージ。
|
×
|
|
local-package
|
text
|
Session and Entity
Beans
|
ローカル・インタフェースを含むパッケージ。
|
×
|
|
service-endpoint-package
|
text
|
Session Beans, EJB
2.1
|
サービス・エンドポイント・インタフェースを含むパッケージ。
|
×
|
|
package
|
text
|
|
インタフェース が置かれるパッケージ。
|
×
|
@ejb.persistence (0..1)
CMP Entity Bean の永続性に関する情報です。
適用範囲:CMP entitybean
表3.2.8.5-11
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
table-name
|
text
|
|
CMPにマップされるテーブルを宣言する。
|
×
|
|
read-only
|
bool
|
|
Beanを読み取り専用とする。
|
×
|
@ejb.pk (0..1)
Entity Beanの主キーを設定します。
適用範囲:全てのEntitybean
表3.2.8.5-12
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
class
|
text
|
|
主キークラスの完全修飾名。
|
×
|
|
pattern
|
text
|
|
主キークラスの、(パッケージの指定された)非修飾名を構築するためのパターン(EJB
名には{0}を用いる)を定義する。
|
×
|
|
package
|
text
|
|
pk クラスのパッケージを定義する。
|
×
|
|
generate
|
bool
|
|
主キーが生成されるべきかを宣言する。
デフォルト値
true
|
×
|
|
extends
|
text
|
|
生成された pk
が継承すべきクラスを定義する。
|
×
|
|
implements
|
text
|
|
生成された pk
が実装しなければならないインタフェースを定義する。
|
×
|
|
role-name
|
text
|
|
カンマで区切りした、findByPrimaryKeyを実行するロールリスト。
|
×
|
|
unchecked
|
bool
|
Entity Beans
|
PK-finderを検証しないことを許可するフラグ。指定した場合、role-name
は省略しなければならない。
デフォルト値
true
|
×
|
|
method-intf
|
text
|
|
findByPrimaryKey
を許可すべき、(Home または LocalHome)インタフェースを指定する。
有効値
Home
LocalHome
デフォルト値
Home
|
×
|
@ejb.remote-facade (0..1)
Entity Bean のためremote-facadeクラスを生成します。
適用範囲:Session Bean
@ejb.resource-env-ref (0..*)
リソース環境参照を、名前と型で定義します。
適用範囲:全てのEJB
表3.2.8.5-13
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
name
|
text
|
|
リソースの名前。
|
○
|
|
type
|
text
|
|
リソースの型。
|
○
|
@ejb.resource-ref (0..*)
res-ref-name という名前のリソース参照を res-type
というタイプのリソースに定義し、 res-auth の指定により認証します。
適用範囲:全てのEJB
表3.2.8.5-14
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
description
|
text
|
|
リソースの補足説明。
|
×
|
|
res-ref-name
|
text
|
|
Enterprise
Beanで利用される環境エントリの名前。
|
○
|
|
res-type
|
text
|
|
リソースのタイプ。
|
○
|
|
res-auth
|
text
|
|
リソース認証(authentication)のタイプ。
有効値
Container
Application
デフォルト値
Container
|
○
|
|
res-sharing-scope
|
text
|
|
リソースを共有するスコープ。
有効値
Shareable
Unshareable
デフォルト値
Shareable
|
×
|
|
jndi-name
|
text
|
|
リソースの物理JNDI名。
|
×
|
@ejb.security-identity (0..1)
security-identity要素を指定します。
適用範囲:Session,Entity, Message Driven
bean
表3.2.8.5-15
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
description
|
text
|
|
security
identityの説明。
|
×
|
|
use-caller-identity
|
bool
|
|
use-caller-identity
要素を指定する。
デフォルト値
false
|
×
|
|
run-as
|
text
|
|
run-as要素を指定する。
|
×
|
@ejb.security-role-ref (0..*)
セキュリティ・ロール・リファレンスを定義します。
適用範囲:Entity と Session Bean.
表3.2.8.5-16
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
role-name
|
text
|
|
ロール・リファレンス の名前。
|
○
|
|
role-link
|
text
|
|
ロール・リンクの名前。
|
○
|
@ejb.security-roles (0..1)
メソッドレベルのタグ@ejb.permission role-name
tagsに含まれていない、他のセキュリティロールを指定します。
表3.2.8.5-17
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
role-names
|
text
|
|
カンマで区切られたロールのリスト。
|
○
|
@ejb.util (0..1)
utilクラスを生成するかを定義します。
適用範囲:Entity と Session Bean
表3.2.8.5-18
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
generate
|
text
|
|
有効値
false
no
logical
physical
デフォルト値
logical
|
○
|
@ejb.value-object (0..*)
valueオブジェクトを定義します。
適用範囲:entity bean
表3.2.8.5-19
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
name
|
text
|
|
valueオブジェクトの名前。
|
×
|
|
match
|
text
|
|
このvalueオブジェクトに含まれる属性のグループを選択するために使用できる識別子。
|
×
|
|
extends
|
text
|
|
生成されたvalueオブジェクトが継承すべきクラス。
|
×
|
|
implements
|
text
|
|
生成された値オブジェクトが実装する必要がある、カンマで区切られたインタフェースのリスト。
|
×
|
|
abstract
|
bool
|
|
この
valueオブジェクトが、他のvalueオブジェクトが拡張した抽象オブジェクトになるようにしたい場合に設定する。
|
×
|
|
generatePKConstructor
|
bool
|
|
このvalueオブジェクトが、主キーのみを設定する、引数が一つのコンストラクタを持たなければならない場合に設定する。
|
×
|
3.2.8.6. XDocletタグの一覧(メソッドレベル)
EJBの実装クラスの中でメソッド宣言の前に記述します。EJBの実装クラスのメソッド宣言の前に記述するXDocletタグの一覧です。XDocletによるビルドによって、記述されたXDocletタグの情報を元に配備記述子、EJBのインタフェースクラスを作成します。
@dao.call (0..1)
DAO interfaceで指定されたメソッドを生成します。
表3.2.8.6-1
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
name
|
text
|
Entity Beans
|
DAOでのメソッド名を指定する。
|
×
|
@ejb.aggregate (0..1)
別のEntityBeanを含む永続化ドメインを標記します。
表3.2.8.6-2
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
view-type
|
text
|
Entity bean
|
参照する Entity Bean の
view-type を指定する。
有効値
local
remote
デフォルト値
remote
|
×
|
@ejb.create-method (0..*)
Session
BeanとEntityBeanのCreateメソッドに用いて、対応するインタフェースにこのメソッドを生成します。
表3.2.8.6-3
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
view-type
|
text
|
Session Bean and
Entity bean
|
メソッドの公開される view-type
を指定する。
有効値
local
remote
デフォルト値
remote
|
×
|
@ejb.ejb-external-ref (0..*)
異なる EJB の
jarファイル中のBeanへの、EJBリファレンスを定義します。
表3.2.8.6-4
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
view-type
|
text
|
All EJBs
|
参照で用いる view type。
有効値
local
remote
デフォルト値
remote
|
×
|
|
link
|
text
|
All EJBs
|
参照するEJBリファレンスのEJBリンク。
|
×
|
|
jndi-name
|
text
|
All EJBs
|
参照する Bean の物理
JNDI-Name。
|
×
|
|
ref-name
|
text
|
All EJBs
|
参照する Bean
の、参照される際の名前。
|
×
|
|
ejb-name
|
text
|
All EJBs
|
参照する Bean
の、参照される際の名前。
この引数は、旧互換用の引数です。新しくアプリケーションを開発する際には、ref-name
引数を使用してください。
|
×
|
|
type
|
text
|
All EJBs
|
参照されるBeanのタイプ。
有効値
Entity
Session
|
○
|
|
home
|
text
|
All EJBs
|
参照する Bean の
ホーム・インタフェースの完全修飾名。
|
○
|
|
business
|
text
|
All EJBs
|
参照する Bean の
ビジネス・インタフェースの完全修飾名。
|
○
|
|
remote
|
text
|
All EJBs
|
(この引数は廃止される予定です)
business 引数と同義。view-tpye が remote の場合にのみ有効。
|
×
|
@ejb.ejb-ref (0..*)
[ejb-name] と言う EJB名を持つ Bean への
EJBリファレンスを定義します。
表3.2.8.6-5
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
ejb-name
|
text
|
All EJBs
|
参照される EJB の名前。
|
○
|
|
view-type
|
text
|
All EJBs
|
参照で用いる view type。
有効値
local
remote
|
×
|
|
ref-name
|
text
|
All EJBs
|
参照する Bean
の、参照される際の名前。
|
×
|
@ejb.ejb-service-ref (0..*)
EJB用の、(WEB)サービス参照を定義します。
表3.2.8.6-6
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
description
|
text
|
All EJBs
|
補足説明。
|
×
|
|
name
|
text
|
All EJBs
|
検索するコンポーネントの論理名。
|
×
|
|
interface
|
text
|
All EJBs
|
JAX-RPC
インタフェースの完全修飾名。
|
○
|
|
wsdl-file-uri
|
text
|
All EJBs
|
WSDL ファイルのURIロケーション。
|
×
|
|
jaxrpc-mapping-file
|
text
|
All EJBs
|
Java から WSDL
へのJAXRPC-mappingファイルの名前。
|
×
|
|
qname
|
text
|
All EJBs
|
参照するWSDL
サービス要素を示すservice-qname。
|
×
|
@ejb.env-entry (0..*)
EJBの環境エントリを定義します。
表3.2.8.6-7
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
name
|
text
|
All EJBs
|
環境エントリの名前。
|
×
|
|
description
|
text
|
All EJBs
|
環境エントリの補足説明。
|
×
|
|
type
|
text
|
All EJBs
|
環境エントリの型。
有効値
java.lang.Boolean
java.lang.Byte
java.lang.Character
java.lang.String
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double
デフォルト値
java.lang.String
|
×
|
|
value
|
text
|
All EJBs
|
環境エントリの値。
|
×
|
@ejb.facade-method (0..1)
Remote Facadeに含まれる Session Bean メソッドにマークを付ける。
表3.2.8.6-8
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
invalidate
|
bool
|
Session Bean
|
このメソッドに、無効のマークを付ける。
デフォルト値
false
|
×
|
|
cache
|
bool
|
Session Bean
|
メソッドの結果のためにキャッシュを設定する。
デフォルト値
false
|
×
|
|
immutable
|
bool
|
Session Bean
|
値が不変の場合、無効としないようにする。
デフォルト値
false
|
○
|
@ejb.home-method (0..1)
Session メソッドを homeメソッドとして定義します。
表3.2.8.6-9
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
view-type
|
text
|
Session bean and
Entity bean
|
メソッドが公開される view-type
を指定します。
有効値
local
remote
デフォルト値
remote
|
×
|
@ejb.interface-method (0..1)
ローカル・インタフェースとリモート・インタフェースに出てきたメソッドを定義します。
表3.2.8.6-10
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
view-type
|
text
|
Session Bean and
Entity bean
|
メソッドが公開される view-type
を指定します。
有効値
local
remote
both
service-endpoint
remote-service-endpoint
local-service-endpoint
all
デフォルト値
remote
|
×
|
@ejb.permission (0..1)
メソッドのトランザクションの振る舞いを定義します。
表3.2.8.6-11
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
role-name
|
text
|
Session Bean and
Entity bean
|
このメソッドを呼び出せるロールの、カンマ区切りのリスト。
|
×
|
|
unchecked
|
bool
|
Session Bean and
Entity bean
|
メソッドが、検証されないことを許可するフラグ。
デフォルト値
true
|
×
|
|
view-type
|
text
|
Session Bean and
Entity bean
|
このパーミッションが適用される
view-type を指定する。
有効値
local
remote
both
service-endpoint
remote-service-endpoint
local-service-endpoint
all
|
×
|
|
method-intf
|
text
|
Session Bean and Entity
bean
|
このパーミッションが適用されるメソッドのインタフェースを指定する。
有効値
Remote
Home
Local
LocalHome
ServiceEndpoint
|
×
|
@ejb.persistence (0..1)
CMP Entity Bean のフィールドの永続性に関する情報を示します。
表3.2.8.6-12
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
column-name
|
text
|
Entity bean
|
CMPフィールが関連付けられる列名を宣言する。
|
×
|
|
jdbc-type
|
text
|
Entity bean
|
JDBCの型を宣言する。
有効値
ARRAY
BINARY
BIT
BLOB
BOOLEAN
CHAR
CLOB
DATALINK
DATE
DECIMAL
DISTINCT
DOUBLE
FLOAT
INTEGER
NULL
NUMERIC
OTHER
STRUCT
TIME
VARBINARYVARCHAR
デフォルト値
VARCHAR
|
×
|
|
sql-type
|
text
|
Entity bean
|
フィールドの、データベースでの実際の型を宣言する。
|
×
|
|
read-only
|
bool
|
Entity bean
|
フィールドが読み取り専用であることを指定する。
|
×
|
@ejb.persistent-field (0..1)
旧互換用です。新しくアプリケーションを開発する際には、@ejb.persistenceタグを使用してください。
@ejb.pk-field (0..1)
次のパターンのメソッドでご利用ください。
public abstract Foo getX()
これは、永続フィールド X が 主キー・フィールドであることを示します。
@ejb.relation (0..1)
EntityBean間の関係を定義します。
表3.2.8.6-13
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
name
|
text
|
Entity bean
|
関係の名前。
|
○
|
|
role-name
|
text
|
Entity bean
|
関係のロールの名前。
|
○
|
|
cascade-delete
|
text
|
Entity bean
|
アプリケーションサーバが、カスケード削除を実行すべきか、どうかを指定する。
|
×
|
|
target-ejb
|
text
|
Entity bean
|
関係の他方の側のEJBの名前。
|
×
|
|
target-role-name
|
text
|
Entity bean
|
関係の他方の側の関係の名前。
|
×
|
|
target-cascade-delete
|
text
|
Entity bean
|
アプリケーションサーバが、他方の関係側のカスケード削除を実行すべきか、どうかを指定する。
|
×
|
|
target-multiple
|
text
|
Entity bean
|
関連が一対一か複数対複数かを指定する。
|
×
|
@ejb.resource-env-ref (0..*)
リソース環境参照を、名前と型で定義します。
表3.2.8.6-14
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
description
|
text
|
All EJBs
|
リソースの補足説明。
|
×
|
|
name
|
text
|
All EJBs
|
リソースの名前。
|
×
|
|
type
|
text
|
All EJBs
|
リソースの型。
|
○
|
|
jndi-name
|
text
|
All EJBs
|
リソースの物理 JNDI 名。
|
×
|
@ejb.resource-ref(0..*)
res-ref-name という名前のリソース参照を res-type
というタイプのリソースに定義し、 res-auth の指定により認証します。
表3.2.8.6-15
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
description
|
text
|
All EJBs
|
リソースの補足説明。
|
×
|
|
res-ref-name
|
text
|
All EJBs
|
Enterprise
Beanで利用される環境エントリの名前。
|
×
|
|
res-type
|
text
|
All EJBs
|
リソースのタイプ。
|
○
|
|
res-auth
|
text
|
All EJBs
|
リソース認証(authentication)のタイプ。
有効値
Container
Application
デフォルト値
Container
|
○
|
|
res-sharing-scope
|
text
|
All EJBs
|
リソースを共有するスコープ。
有効値
Shareable
Unshareable
デフォルト値
Shareable
|
×
|
|
jndi-name
|
text
|
All EJBs
|
リソースの物理 JNDI 名。
|
×
|
@ejb.select (0..*)
select メソッドを定義します。このタグはejbSelect
メソッドに付けられます。
表3.2.8.6-16
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
query
|
text
|
Entity bean
|
SelectメソッドのEJB-QL
クエリー。
|
○
|
|
result-type-mapping
|
text
|
Entity bean
|
Selectメソッドの結果のタイプのマップ。
有効値
none
Local
Remote
デフォルト値
none
|
×
|
@ejb.transaction (0..1)
メソッドのトランザクションの振る舞いを定義します。
表3.2.8.6-17
|
引数
|
型
|
適用範囲
|
説明
|
必須
|
|
type
|
text
|
Session Bean and Entity
bean
|
トランザクション振る舞いのタイプを指定します。
有効値
NotSupported
Supports
Required
RequiresNew
Mandatory
Never
デフォルト値
Supports
|
○
|
3.2.8.7. 既存EJBプロジェクトからWTPプロジェクトへのエクスポート
EJBプロジェクトをWTPプロジェクトへ変換する方法について説明します。
まずは、プロジェクトをインポートしてください。ここではTestEJB63というプロジェクトを例とします。
自動的ビルドの設定解除
メニュー プロジェクト
> 自動的にビルド にチェックがあれば解除してください。

図3.2.8.7-1
.classpathと.projectの編集
既存プロジェクト名をTestEJB63とします。TestEJB63は、下図に示す構成になります。

図3.2.8.7-2
メニュー ウィンドウ >
パースペクティブを開く > その他
を選択します。

図3.2.8.7-3
リソースパースペクティブを開きます。

図3.2.8.7-4
TestEJB63プロジェクトの.classpathをエディタで開きます。

図3.2.8.7-5
以下のように修正します。
<?version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="ejbModule"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/com.nec.webotx.development.servertool.core.runtimeTarget/WebOTX Application Server v8(Local Default)"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
次に、TestEJB63プロジェクトの.projectファイルを修正します。

図3.2.8.7-6
以下のように修正します。
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>TestEJB63</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
</natures>
</projectDescription>
.settings構成を作成
.settingsフォルダを作成し、以下に示す4つのファイルを作成します。
- org.eclipse.wst.common.component
- org.eclipse.jdt.core.prefs
- org.eclipse.jst.common.project.facet.core.prefs
- org.eclipse.wst.common.project.facet.core.xml
フォルダーを選択します。

図3.2.8.7-7
.settingsを指定し、完了ボタンをクリックします。

図3.2.8.7-8
org.eclipse.wst.common.componentファイルを作成します。
ファイルを選択します。

図3.2.8.7-9
org.eclipse.wst.common.componentを指定し、完了ボタンをクリックします。

図3.2.8.7-10
.
org.eclipse.wst.common.componentをエディタで開き、コードを追加します。

図3.2.8.7-11
コードは、以下のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="TestEJB63">
<wb-resource source-path="/ejbModule" deploy-path="/"/>
<property name="java-output-path" value="build/classes"/>
</wb-module>
</project-modules>
deploy-nameの値は、プロジェクト名に変更します。
org.eclipse.wst.common.project.facet.core.xmlファイルを作成します。ファイルを選択します。

図3.2.8.7-12
org.eclipse.wst.common.project.facet.core.xmlを指定し、完了ボタンをクリックします。

図3.2.8.7-13
org.eclipse.wst.common.project.facet.core.xmlをエディタで開き、コードを追加します。

図3.2.8.7-14
コードは、以下のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="WebOTX Application Server v8(Local Default)"/>
<fixed facet="java"/>
<fixed facet="jst.ejb"/>
<installed facet="java" version="1.5"/>
<installed facet="jst.ejb" version="2.1"/>
<installed facet="jst.ejb.xdoclet" version="1.2.3"/>
</faceted-project>
org.eclipse.jdt.core.prefsファイルを作成します。ファイルを選択します。

図3.2.8.7-15
org.eclipse.jdt.core.prefsを指定し、完了ボタンをクリックします。

図3.2.8.7-16
org.eclipse.jdt.core.prefsをエディタで開き、コードを追加します。

図3.2.8.7-17
コードは、以下のようになります。
#FriMar 02 13:30:40 GMT+08:00 2007
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
org.eclipse.jdt.core.compiler.source=1.5
org.eclipse.jst.common.project.facet.core.prefsファイルを作成します。ファイルを選択します。

図3.2.8.7-18
org.eclipse.jst.common.project.facet.core.prefsを指定し、完了ボタンをクリックします。

図3.2.8.7-19
org.eclipse.jst.common.project.facet.core.prefsをエディタで開き、コードを追加します。

図3.2.8.7-20
コードは、以下のようになります。
#FriMar 02 13:31:04 GMT+08:00 2007
classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER/owners=java\:1.5
classpath.helper/org.eclipse.jst.server.core.container\:\:com.nec.webotx.development.servertool.core.runtimeTarget\:\:WebOTX\Application\ Server\ v8(Local Default)/owners=jst.ejb\:2.1
eclipse.preferences.version=1
ejbModuleフォルダの作成
ejbModuleフォルダを作成します。J2EEパースペクティブに変更し、ソースフォルダの作成を選択します。

図3.2.8.7-21
ejbModuleを指定し、完了ボタンをクリックします。

図3.2.8.7-22
META-INFフォルダとtestフォルダをドラッグ&ドロップで、ejbModule配下に移動します。

図3.2.8.7-23
XDocletの設定
プロジェクトのプロパティを開き、プロジェクト・ファセットを選択します。EJBDoclet(XDoclet)をONにします。

図3.2.8.7-24
ランタイムタブをクリックして、対応するランタイム(例では、WebOTX
Application Server v9(Local
Default)です)を選択して、完了をクリックします。
設定したいランタイムが存在していない場合、
[ アプリケーション開発ガイド(概要)
> 1. Developer(with Developer's Studio)
> 1.2. 環境設定
> 1.2.4. テスト用サーバの設定
> 1.2.4.1. WebOTXランタイムの設定 ]
を参照してください。

図3.2.8.7-25
OKボタンをクリックして、プロジェクト・ファセットの設定は完了しました。
Eclipseの状態と同期を取るため、プロジェクトを一旦、閉じてから開き直します。

図3.2.8.7-26

図3.2.8.7-27
以下のように、その他のプロジェクトにあったTestEJB63プロジェクトは、EJBプロジェクト(WTPプロジェクト)に移動します。

図3.2.8.7-28
Beanのソース編集
Bean(今回は、TestEJB63Bean.java)のクラス定義とメソッド定義にJavaDoc形式によるコメントを追加します。
クラス定義のコメントは、以下のように指定します。
表3.2.8.7-1
|
オプション
|
説明
|
備考
|
|
@ejb.bean.name
|
Bean名を指定します。今回は、TestEJB63になります。
|
|
|
@jndi-name
|
EJBのJNDI名を指定します。今回は、TestEJB63とします。
|
|
|
@type
|
EJBのタイプを指定します。今回は、ステートレスセッションBeanであるため、Statelessを指定します。
|
ステートフルの場合は、Statefulを指定します。
|
|
@transaction-type
|
トランザクションタイプを指定します。今回は、Containerを指定します。
|
Beanタイプの場合は、Beanを指定します。
|
|
@description
|
任意の文字列によるディスクリプション名を指定します。
|
|
|
@display-name
|
ディスプレイ名を指定します。今回は、プロジェクト名を指定します。
|
|
|
@generated
|
必ず指定してください。
|
|
修正した、コード例です。太字が追加部分です。
package test;
import javax.ejb.*;
/**
*
* <!-- begin-user-doc -->
* A generated session bean
* <!-- end-user-doc -->
**
* <!-- begin-xdoclet-definition-->
* @ejb.bean name="TestEJB63"
* description="A session bean named TestEJB63"
* display-name="TestEJB63"
* jndi-name="TestEJB63"
* type="Stateless"
* transaction-type="Container"
*
* <!-- end-xdoclet-definition-->
* @generated
*/
public class TestEJB63Bean implements SessionBean {
private SessionContext sessionContext;
public TestEJB63Bean() {
}
/**
*
* <!-- begin-xdoclet-definition -->
* @ejb.create-method view-type="remote"
* <!-- end-xdoclet-definition -->
* @generated
*
* //TODO: Must provide implementation for bean create stub
*/
public void setSessionContext(SessionContext arg0) {
this.sessionContext= arg0;
}
/**
*
* <!-- begin-xdoclet-definition -->
* @ejb.create-method view-type="remote"
* <!-- end-xdoclet-definition -->
* @generated
*
*//TODO: Must provide implementation for bean create stub
*/
public void ejbRemove() {
//TODO 自動生成されたメソッド・スタブ
}
/**
*
* <!-- begin-xdoclet-definition -->
* @ejb.create-method view-type="remote"
* <!-- end-xdoclet-definition -->
* @generated
*
*//TODO: Must provide implementation for bean create stub
*/
public void ejbActivate() {
//TODO 自動生成されたメソッド・スタブ
}
/**
*
* <!-- begin-xdoclet-definition -->
* @ejb.create-method view-type="remote"
* <!-- end-xdoclet-definition -->
* @generated
*
*//TODO: Must provide implementation for bean create stub
*/
public void ejbPassivate() {
//TODO 自動生成されたメソッド・スタブ
}
/**
*
* <!-- begin-xdoclet-definition -->
* @ejb.create-method view-type="remote"
* <!-- end-xdoclet-definition -->
* @generated
*
*//TODO: Must provide implementation for bean create stub
*/
public void ejbCreate() {
}
}
プロジェクト・エクスプローラーでTestEJB63の右クリックメニュー XDocletの実行
を選択して、実行します。

図3.2.8.7-29
これでWTPプロジェクトへのエクスポートは完了です。