Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)
ここでは,Enterprise Beanに別名を設定する方法について説明します。
Enterprise Beanの別名は,次の2種類の方法で設定できます。
それぞれの方法について説明します。
なお,この機能を使用する場合は,サーバ管理コマンドのusrconf.propertiesで別名を使用するかどうかを指定しておく必要があります。設定方法については,「2.6.7 実行環境での設定」を参照してください。
Enterprise Beanの別名を設定するには,cosminexus.xmlの<ejb-jar>タグ内に指定します。cosminexus.xmlでのEnterprise Beanの別名の設定について次の表に示します。
表2-25 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)で指定する各属性の詳細」を参照してください。
@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>タグに設定されます。
@Stateless,@Stateful,または@SingletonのmappedName属性を指定して別名を指定している場合に,cosminexus.xmlで<optional-name>タグまたは<local-optional-name>タグに別名を設定したときには,<optional-name>タグおよび<local-optional-name>タグの指定が有効になります。
サーバ管理コマンドとアノテーションの両方で別名を指定した場合に有効になるタグについて,次の表に示します。
表2-26 サーバ管理コマンドとアノテーションの両方で別名を指定した場合に有効になるタグ
別名の設定対象 | @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>タグ |
注※ @Stateless,@Stateful,@SingletonのmappedName属性に指定した値が設定されるタグです。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.