3.2. プログラミング・開発ガイド

本節には、以下の内容が含まれています。

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 プロジェクトの作成
  1. EJBアプリケーションを作成します。
  2. マニフェストファイル(WebContent/META-INF/MANIFEST.MF)に次の記述を追加します。
記述を追加したマニフェストファイルの例を以下に示します。
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アプリケーション

本節には、以下の内容が含まれています。

3.2.8.1. EJB プロジェクトの作成画面の説明

EJB2.1プロジェクトの作成時、EJB3.1プロジェクトと同じウィザードを利用しますので、 「1.EJB3.1プロジェクトの作成画面の説明」を参照してください。
以下の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部の「EJB3.1アプリケーション」の「 4.Java Persistence API 」の「DB接続の新規作成」を参照してください。

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つのファイルを作成します。


フォルダーを選択します。


図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)です)を選択して、完了をクリックします。
設定したいランタイムが存在していない場合、「初期設定」の「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プロジェクトへのエクスポートは完了です。