Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)
Portable Global JNDI名には標準アプリケーション名,標準モジュール名,およびEnterprise Bean名が含まれています。これらの名前はJava EEで命名規則や使用できる文字が定義されています。
ここでは,Portable Global JNDI名に使用される標準アプリケーション名,標準モジュール名,Enterprise Bean名の命名規則,および使用できる文字について説明します。
標準アプリケーション名は次の規則で設定されます。
表2-11 標準アプリケーション名の命名規則
アプリケーションの前提条件 | 標準アプリケーション名 | |||
---|---|---|---|---|
J2EEアプリケーション(EARファイル) | application.xmlがある | <application-name>タグがある | 値がある | <application-name>タグの値※1 |
値が空文字※2 | デフォルトの標準アプリケーション名※3 | |||
<application-name>タグがない | − | |||
application.xmlがない | − | − | ||
WARアプリケーション (WARファイル) |
cjimportwarコマンドの-nameオプションに指定がある | cjimportwarコマンドの-nameオプションの値※1 | ||
cjimportwarコマンドの-nameオプションに指定がない | デフォルトの標準アプリケーション名※3 |
表2-12 デフォルトの標準アプリケーション名の命名規則
アプリケーションの前提条件 | デフォルトの標準アプリケーション名 | |
---|---|---|
J2EEアプリケーション (EARファイル) |
アーカイブ形式 | EARファイルのファイル名から拡張子を除いた文字列。 ただし,ピリオド「.」がファイル名の先頭にしかない場合は拡張子を除かない。 |
展開ディレクトリ形式 |
|
|
WARアプリケーション (WARファイル) |
アーカイブ形式 | WARファイルのファイル名から拡張子を除いた文字列。 ただし,ピリオド「.」がファイル名の先頭にしかない場合は拡張子を除かない。 |
展開ディレクトリ形式 | WARディレクトリのディレクトリ名。 |
標準アプリケーション名に指定できる値を次に示します。
標準アプリケーション名が登録できない名称の場合,アプリケーション開始時にKDJE47710-Wが出力され,アプリケーションの開始処理は続行されます。ただし,そのアプリケーションに含まれるすべてのオブジェクトに対してPortable Global JNDI名の登録はされないため,Portable Global JNDI名でのルックアップはできません。Portable Global JNDI名でのルックアップをする場合は,必要に応じて,DD,EARファイルのファイル名,またはアプリケーションディレクトリのディレクトリ名を命名規則に従って変更してください。
標準モジュール名は次の規則で設定されます。
表2-13 標準モジュール名の命名規則
モジュールの前提条件 | 標準モジュール名 | |||
---|---|---|---|---|
EJB-JARモジュール(EJB-JARファイル) | ejb-jar.xml がある |
<module-name>タグがある | 値がある | <module-name>タグの値※1 |
値が空文字※2 | デフォルトの標準モジュール名※3 | |||
<module-name>タグがない | − | |||
ejb-jar.xml がない |
− | − | ||
Webモジュール(WARファイル) | web.xmlがある | <module-name>タグがある | 値がある | <module-name>タグの値※1 |
値が空文字※2 | デフォルトの標準モジュール名※3 | |||
<module-name>タグがない | − | |||
web.xmlがない | − | − | ||
リソースアダプタモジュール(RARファイル) | − | デフォルトの標準モジュール名※3 |
表2-14 デフォルトの標準モジュール名の命名規則
モジュール | J2EEアプリケーションの形式 | デフォルトの標準モジュール名 |
---|---|---|
EJB-JARモジュール(EJB-JARファイル) | アーカイブ形式 | アプリケーションパッケージのルートディレクトリからEJB-JARファイルまでの相対パスから拡張子を除いた文字列。 ただし,ピリオド「.」がEJB-JARファイル名の先頭にしかない場合は拡張子を除かない。 パス区切り文字が「\」の場合は「/」に変換する。 |
展開ディレクトリ形式 |
|
|
Webモジュール(WARファイル) | アーカイブ形式 | アプリケーションパッケージのルートディレクトリからWARファイルまでの相対パスから,拡張子を除いた文字列。 ただし,ピリオド「.」がWARファイル名の先頭にしかない場合は拡張子を除かない。 パス区切り文字が「\」の場合は「/」に変換する。 |
展開ディレクトリ形式 |
|
|
リソースアダプタモジュール | アーカイブ形式 | アプリケーションパッケージのルートディレクトリからRARファイルまでの相対パスから,拡張子を除いた文字列。 ただし,ピリオド(.)がRARファイル名の先頭にしかない場合は拡張子を除かない。 パス区切り文字が(\)の場合は(/)に変換する。 |
なお,標準モジュール名(<module-name>タグの値)は,半角英数字(0〜9,A〜Z,a〜z),および次の特殊文字の場合に登録されます。
スペース( ),エクスクラメーションマーク(!),ダブルクォーテーション("),シャープ(#),ドル記号($),パーセント(%),アンパサンド(&),シングルクォーテーション('),バーレン(()()),アスタリスク(*),プラス(+),コンマ(,),ハイフン(-),ピリオド(.),区切り文字としてのスラッシュ(/),コロン(:),セミコロン(;),レスザン(<),イコール(=),グレーターザン(>),クエスチョン(?),単価記号(@),ブラケット([)(]),円マーク(\),キャレット(^),アンダースコア(_),バッククォート(`),ブレイス({)(}),ストローク(|),チルダ(~)
ただし,次の名称は登録されません。
標準モジュール名が登録できない名称の場合,アプリケーション開始時にモジュールごとにKDJE47711-Wが出力され,アプリケーションの開始処理は続行されます。ただし,そのモジュールに含まれるすべてのオブジェクトに対してPortable Global JNDI名での登録はされないため,Portable Global JNDI名でのルックアップはできません。Portable Global JNDI名でのルックアップをする場合は,必要に応じて,DD,アプリケーションのディレクトリ名などを命名規則に従って変更してください。
Enterprise Bean名には,半角英数字(0〜9,A〜Z,a〜z),および次の特殊文字の場合に登録されます。
スペース( ),エクスクラメーションマーク(!),ダブルクォーテーション("),シャープ(#),ドル記号($),パーセント(%),アンパサンド(&),シングルクォーテーション('),バーレン(()()),アスタリスク(*),プラス(+),コンマ(,),ハイフン(-),ピリオド(.),コロン(:),セミコロン(;),レスザン(<),イコール(=),グレーターザン(>),クエスチョン(?),単価記号(@),ブラケット([)(]),円マーク(\),キャレット(^),アンダースコア(_),バッククォート(`),ブレイス({)(}),ストローク(|),チルダ(~)
ただし,次の名称は登録されません。
Enterprise Bean名が登録できない名称の場合,アプリケーション開始時にEnterprise BeanごとにKDJE47712-Wが出力され,アプリケーションの開始処理は続行されます。ただし,そのEnterprise Beanに含まれるすべてのオブジェクトに対してPortable Global JNDI名での登録はされません。なお,Enterprise Bean名が登録できない名称の場合,Portable Global JNDI名でのルックアップはできませんが,それ以外のアプリケーションの機能は従来どおり動作します。
また,指定できる文字列長については,Enterprise Beanのインタフェース(ホームインタフェースまたはビジネスインタフェース)ごとにもチェックされます。例えば,次の文字列長が256文字以上の場合,インタフェースごとにKDJE47713-Wが出力され,そのインタフェース名を指定した形式のPortable Global JNDI名での登録はされません。
Enterprise Bean名の長さ+インタフェースのクラス名※の長さ+1 |
注※ パッケージ名を含む完全修飾クラス名
なお,EJB 3.1では,インタフェースが省略されている場合は,インタフェースのクラス名の代わりにEnterprise Beanのクラス名が適用されます。
アプリケーションサーバでは,アプリケーション開始時に,すでに同じ標準アプリケーション名が名前空間に登録されていた場合,KDJE47720-Wが出力され,名前空間に登録されません。これと同様に,同一アプリケーション内ですでに同じ標準モジュール名が名前空間に登録されていた場合,次のメッセージが出力され,名前空間に登録されません。ただし,アプリケーションの開始処理は続行されます。
なお,アプリケーションサーバでは,次の順番でモジュールが登録されます。
登録済みの標準アプリケーション名や標準モジュール名と完全に一致していなくても,スラッシュ(/)で区切られた階層の単位で,登録済みのオブジェクトと名称が一致した場合は,重複していると判断されることがあります。次に例を示します。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.