2.6.5 Enterprise Beanの別名の設定
ここでは,Enterprise Beanに別名を設定する方法について説明します。
Enterprise Beanの別名は,次の2種類の方法で設定できます。
-
cosminexus.xmlで設定する方法
-
アノテーションで指定する方法
それぞれの方法について説明します。
なお,この機能を使用する場合は,サーバ管理コマンドのusrconf.propertiesで別名を使用するかどうかを指定しておく必要があります。設定方法については,「2.6.7 実行環境での設定」を参照してください。
(1) cosminexus.xmlで設定する方法
Enterprise Beanの別名を設定するには,cosminexus.xmlの<ejb-jar>タグ内に指定します。cosminexus.xmlでのEnterprise Beanの別名の設定について次の表に示します。
項目 |
指定するタグ |
設定内容 |
---|---|---|
リモートインタフェース |
<session>−<optional-name>タグ |
Session Beanのリモートインタフェースの別名を指定します。 |
<entity>−<optional-name>タグ |
Entity Beanのリモートインタフェースの別名を指定します。 |
|
ローカルインタフェース |
<session>−<local-optional-name>タグ |
Session Beanのローカルインタフェースの別名を指定します。 |
<entity>−<local-optional-name>タグ |
Entity Beanのローカルインタフェースの別名を指定します。 |
指定するタグの詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「2.2 アプリケーション属性ファイル(cosminexus.xml)で指定する各属性の詳細」を参照してください。
- 参考
-
Enterprise Beanの別名は,アノテーションで設定することもできます。アノテーションによって別名が設定されている場合に,サーバ管理コマンドで異なる別名を設定すると,サーバ管理コマンドで設定した値が有効になります。
詳細は,「(3) サーバ管理コマンドとアノテーションの両方で別名を設定した場合」を参照してください。
(2) アノテーションで指定する方法
@Stateless,@Stateful,または@SingletonのmappedName属性で指定します。
アノテーションで別名を指定する場合のコーディング例を次に示します。この例は,@StatelessのmappedName属性にStateless Session Beanの別名「MyFoo」を設定する場合の例です。
@Stateless(mappedName="MyFoo") public class FooEB implements FooIF { ... } public interface FooIF { ... }
@Stateless,@Stateful,または@SingletonのmappedName属性に指定した別名は,Session Bean属性ファイルの<hitachi-session-bean-property><mapped-name>タグに設定されます。
(3) サーバ管理コマンドとアノテーションの両方で別名を設定した場合
@Stateless,@Stateful,または@SingletonのmappedName属性を指定して別名を指定している場合に,cosminexus.xmlで<optional-name>タグまたは<local-optional-name>タグに別名を設定したときには,<optional-name>タグおよび<local-optional-name>タグの指定が有効になります。
サーバ管理コマンドとアノテーションの両方で別名を指定した場合に有効になるタグについて,次の表に示します。
別名の設定対象 |
@Stateless,@Stateful,@SingletonのmappedName属性だけを指定 |
<optional-name>タグ,<local-optional-name>タグだけを指定 |
@Stateless,@Stateful,@SingletonのmappedName属性および<optional-name>タグ,<local-optional-name>タグの両方を指定した場合 |
---|---|---|---|
リモートインタフェース |
<mapped-name>タグ※ |
<optional-name>タグ |
<optional-name>タグ |
ローカルインタフェース |
<mapped-name>タグ※ |
<local-optional-name>タグ |
<local-optional-name>タグ |