8.3.2 別名の付与規則
(1) 指定できる名称
別名に指定できる文字,および指定する場合の制約について説明します。
(a) 別名に指定できる文字
別名には,次の文字を使用した名称を指定できます。
- 英数字(A~Z,a~z,0~9)
- アンダースコア(_)
- スラッシュ(/)
- ピリオド(.)
ただし,スラッシュは,区切り文字として使用する場合だけ,名前に使用できます。
(b) 別名を指定するときの制約
次に示す名前は,別名として指定できません。指定した場合,J2EEアプリケーションまたはJ2EEリソースを開始できません。
- 名前の先頭または名前の末尾に,スラッシュ(/)またはピリオド(.)を指定した名前。
- スラッシュ(/)だけ,またはピリオド(.)だけの名前。
- スラッシュ(/)が連続している名前。
- スラッシュ(/)とピリオド(.)が連続している名前。
- 「HITACHI_EJB」で始まる名前(大文字・小文字を区別する)。
- 文字列長が255バイトよりも長い名前。
このほか,J2EEリソースの場合,同じ名称が指定されたときには,あとから指定されている定義が有効になります。
(2) 別名の重複
Enterprise BeanおよびJ2EEリソースに別名を付ける場合の別名の重複可否を次の表に示します。
表8-5 Enterprise BeanおよびJ2EEリソースの別名の重複可否
別名を付ける対象 | リモートインタフェースを持つEnterprise Bean | ローカルインタフェースを持つEnterprise Bean | J2EEアプリケーションに含まれるリソースアダプタ | J2EEリソース※1 |
---|
リモートインタフェースを持つEnterprise Bean | × | ○※2 | × | × |
ローカルインタフェースを持つEnterprise Bean | ○※2 | △ | △ | × |
J2EEアプリケーションに含まれるリソースアダプタ | × | △ | △ | × |
J2EEリソース※1 | × | × | × | × |
- (凡例)
- ○:重複できる
- △:J2EEアプリケーションが異なる場合は重複できる
- ×:重複できない
- 注※1
- J2EEアプリケーションに含まれるリソースアダプタを除きます。
- 注※2
- ローカル呼び出し最適化機能を使用するかどうかに関係なく重複できます。
なお,重複できない組み合わせの場合,名称が完全に一致していなくても指定できないことがあります。
例を使用して説明します。
- 例
- ネーミング管理機能では,CORBAネーミングサービスに登録されるオブジェクトを名前で管理しています。オブジェクトに付与された名前は「/」を階層構造の区切りとして解析し,ツリー構造で管理されます。ツリーのなかで,子ノードを持つノードでは,そのノードの下に新しくオブジェクトを登録できます。
- 下の図の,ノードA,B,C,Fは子ノードを持つノードです。このため,これらのノードの下には新しくオブジェクトを登録できます。
![[図データ]](figure/zu060200.gif)
- この状態で,別名「A/B/D」がすでに使用されている場合は,別名「A/B/I」を指定できます。
- しかし,D,E,G,Hのようなノードには,新しくオブジェクトを登録することはできません。このため,別名「A/B/D/I」を指定することはできません。
重複できない別名を指定した場合,別名を指定した対象ごとに,次にタイミングでエラーが発生します。
- Enterprise Beanの場合は,J2EEアプリケーションの開始に失敗します。
- メールコンフィグレーション以外のJ2EEリソースの場合は,リソースの開始に失敗します。
- メールコンフィグレーションの場合は,属性設定時にエラーが発生します。