3.3.1 EJB-JAR属性ファイルの指定内容

EJB-JAR属性ファイルは,次に示すDOCTYPE宣言を持ちます。

<!DOCTYPE hitachi-ejb-jar-property PUBLIC '-//Hitachi, Ltd.//DTD Ejb Jar Property 7.1//EN' 'file:///<Cosminexusのインストールディレクトリ>/CC/admin/dtds/hitachi-ejb-jar-property_7_1.dtd'>

EJB-JAR属性ファイルは,次に示すタグを持つxmlファイルです。

なお,設定先のEJB-JARがDD(ejb-jar.xml)を保持していない場合,EJB-JAR属性ファイルのタグは変更できません。また,属性ファイルのバージョンは,以前のバージョンのものでも使用できます。

<この項の構成>
(1) ejb-jar.xmlを含む場合
(2) ejb-jar.xmlを含まない場合(EJB3.0以降)

(1) ejb-jar.xmlを含む場合

タグ名出現パターン説明
<hitachi-ejb-jar-property>1回ルートタグ。

<description>※10回以上※2EJB-JARの説明。※3





<display-name>※11回以上※2EJB-JARの表示名。※3
1≦文字列長
変更する場合,英数字(0~9,A~Z,a~z),およびアンダースコア(_)を使用できます。


<icon>※10回以上※2GUIツール上に表示されるEJB-JARのアイコンの定義。※3




<small-icon>0または1回スモールアイコン(16×16)のファイル名。※3


<large-icon>0または1回ラージアイコン(32×32)のファイル名。※3

<interceptors>0または1回インターセプタの設定。※4


<description>※10回以上※2Interceptorsの説明。※4

<interceptor>1回以上インターセプタクラスの設定。※4

 
<description>※10回以上※2interceptor-classの説明。※4

 
<interceptor-class>1回インターセプタクラスの名称。※4


 

<around-invoke>0回以上インターセプタのaroundinvokeメソッドの定義。※4



 





<class>0または1回インターセプタのaroundinvokeメソッドが存在するクラスをパッケージ名から表示。※4


 

<method-name>1回インターセプタのaroundinvokeメソッドの名称。※4


 

<post-construct>0回以上インターセプタのpost-constructメソッドの定義。※4



 





<lifecycle-callback-class>0または1回インターセプタのpost-constructメソッドが存在するクラスをパッケージ名から表示。※4


 

<lifecycle-callback-method>1回インターセプタのpost-constructメソッド名を表示。※4


 

<pre-destroy>0回以上インターセプタのpre-destroyメソッドの定義。※4



 





<lifecycle-callback-class>0または1回インターセプタのpre-destroyメソッドが存在するクラスをパッケージ名から表示。※4


 

<lifecycle-callback-method>1回インターセプタのpre-destroyメソッド名を表示。※4


 

<post-activate>0回以上インターセプタのpost-activateメソッドの定義。※4



 





<lifecycle-callback-class>0または1回インターセプタのpost-activateメソッドが存在するクラスをパッケージ名から表示。※4

┃┃
 

<lifecycle-callback-method>1回インターセプタのpost-activateメソッド名を表示。※4


 <pre-passivate>0回以上インターセプタのpre-passivateメソッドの定義。※4



  


<lifecycle-callback-class>0または1回インターセプタのpre-passivateメソッドが存在するクラスをパッケージ名から表示。※4


  <lifecycle-callback-method>1回インターセプタのpre-passivateメソッド名を表示。※4



<relationships>0または1回リレーションシップについての定義。
EJB2.1以前の場合に設定できます。EJB3.0以降の場合は設定できません。※3




<description>※10回以上※2relationshipsの説明。※3



<ejb-relation>1回以上二つのCMP EntityBean間のリレーションシップについての定義。※3


 

<description>※10回以上※2ejb-relationの説明。※3


 

<ejb-relation-name>0または1回relationshipsの名称。※3


 

<ejb1>1回ejb2に対するejb1の関連情報。※3


 



<description>※10回以上※2ejb1の説明。※3






 











<ejb-relationship-role-name>0または1回リレーションシップロール名。※3
二つのCMP EntityBean間のリレーションシップ定義中では,それぞれ一意な名称を指定します。別リレーションシップ定義では,同じ名称であっても指定できます。




 







<multiplicity>1回ejb1のインスタンスの多重度。※3
指定できる文字列を次に示します。
  • One
  • Many




 







<cascade-delete>0または1回ejb2の削除時にejb1の自動削除をするかどうかの指定。※3
ejb2のmultiplicityがoneの場合に有効です。




 







<ejb-name>1回ejb1の名称。※3
指定できる文字列は,EJB-JAR中に存在するCMP2.0 Entity BeanのEJB名(<ejb-name>タグの値)です。






 











<cmr-field-name>1回ejb2のインスタンスを取得するCMRフィールド。※3
指定できる値は,「No EJB Name」または<ejb name>で指定したEJBが持つCMRフィールドのどれかです。








 







<cmr-field-type>0または1回CMRフィールド用メソッドの戻り値の型。※3
表示される値は,<cmr-field-name>で指定したaccessメソッドの戻り値です。
「java.util.Collection」または「java.util.Set」の場合は,そのまま表示します。それ以外の場合は空文字です。

 <ejb2>1回ejb1に対するejb2の関連情報。※3

  
<description>※10回以上※2ejb2の説明。※3






  





<ejb-relationship-role-name>0または1回リレーションシップロール名。※3
二つのCMP EntityBean間のリレーションシップ定義中では,それぞれ一意な名称を指定します。別リレーションシップ定義では,同じ名称であっても指定できます。


┃┃
  



<multiplicity>1回ejb2のインスタンスの多重度。※3
指定できる文字列を次に示します。
  • One
  • Many




  



<cascade-delete>0または1回ejb1の削除時にejb2の自動削除をするかどうかの指定。※3
ejb1のmultiplicityがoneの場合に有効です。




  



<ejb-name>1回Ejb2の名称。※3
指定できる文字列は,EJB-JAR中に存在するCMP2.0 Entity BeanのEJB名(<ejb-name>タグの値)です。





  




<cmr-field-name>1回ejb2のインスタンスを取得するCMRフィールド。※3
指定できる値は,「No EJB Name」または<ejb name>で指定したEJBが持つCMRフィールドのどれかです。








  <cmr-field-type>0または1回CMRフィールド用メソッドの戻り値の型。※3
表示される値は,<cmr-field-name>で指定したaccessメソッドの戻り値。
「java.util.Collection」または「java.util.Set」の場合は,そのまま表示。それ以外の場合は空文字。



<security-role>0回以上セキュリティロールについての定義。
EJB2.1以前の場合に設定できます。EJB3.0以降の場合は設定できません。※3


<description>※10回以上※2security-roleの説明。※3
<role-name>1回ロール名。※3





<linked-to>0または1回cjaddsecコマンドで定義したロール名。
cjsetrespropコマンドでは無視されます。
設定先のEJB-JARがDD(ejb-jar.xml)を保持していない場合でも,変更できます。


















<interceptor-binding>※50回以上クラスレベルインターセプタおよびメソッドレベルインターセプタに関する設定。
cjsetrespropコマンドでは無視されます。
次の場合は,ワーニングメッセージ(KDJE37604-W)が出力され,先に設定された<interceptor-binding>の<interceptor-class>の値が有効になります。
  • <ejb-name>にワイルドカードを設定した<interceptor-binding>の指定が複数ある場合。
  • <ejb-name>,<named-method>およびその配下の要素すべてが一致する<interceptor-binding>の指定が複数ある場合。
また,設定先がEJB2.1以前の場合は,ワーニングメッセージ(KDJE37613-W)が出力され,設定が無視されます。


<description>※10回以上※2interceptor-bindingの説明。




<ejb-name>1回ワイルドカード(*)またはEnterprise Beanの<ejb-name>。デフォルトインターセプタの定義の場合,ワイルドカードを指定します。








<interceptor-class>0回以上インターセプタのクラスの名称。
<interceptor-class>と<interceptor-order>のどちらか一つを指定します。










<interceptor-order>1回インターセプタの順序性またはレベルの設定。
<interceptor-class>と<interceptor-order>のどちらか一つを指定します。


<interceptor-class>1回以上インターセプタのクラスの名称。












<exclude-default-interceptors>0または1回デフォルトインターセプタを除外するかどうかの指定。
表示される文字列を次に示します。
  • true(除外する場合)
  • false(除外しない場合)










<exclude-class-interceptors>0または1回クラスインターセプタを除外するかどうかの指定。
表示される文字列を次に示します。
  • true(除外する場合)
  • false(除外しない場合)

<named-method>0または1回メソッドの定義。









 








<method-name>1回EJBのビジネスメソッドの名称。「*」を指定した場合,ワイルドカードとして扱いません。
指定したメソッドが,<ejb-name>に指定したEnterprise Beanにない場合,ワーニングメッセージ(KDJE37612-W)が出力され,指定した値が設定されます。

 <method-params>0または1回メソッドの引数。

  <method-param>0回以上メソッドの引数。










<application-exception>0回以上アプリケーション例外に関する設定。
cjsetrespropコマンドでは無視されます。
<exception-class>の値が同じ<application-exception>が複数ある場合,ワーニングメッセージ(KDJE37604-W)が出力され,先に設定された値が有効になります。
また,設定先がEJB2.1以前の場合は,ワーニングメッセージ(KDJE37613-W)が出力され,設定が無視されます。


<exception-class>1回クライアントに通知する例外クラスの名称。






<rollback>0または1回指定した例外が発生したとき,クライアントに通知する前にロールバックを行うかどうかの指定。
表示される文字列を次に示します。
  • true(ロールバックを行う)
  • false(ロールバックを行わない)
<ejb-client-jar>0または1回クライアントJARファイルの名称。※3
注※1
xml:lang属性を指定できます。xml:lang属性を指定しない場合は,「en(英語)」が仮定されます。なお,xml:lang属性が同じタグを複数指定できません。
注※2
EJB2.0以前のEJBに対して,このタグを複数指定できません。
注※3
アノテーションの設定値の場合は,値の変更をしてはいけません。
注※4
cjgetappprop,cjgetrespropコマンドで出力されたものに対し,タグ名の変更,タグの追加・削除,値の変更をしてはいけません。
注※5
アノテーションの設定値は,属性ファイルで更新できません。属性ファイルで更新できるのは,ejb-jar.xmlに定義した情報だけです。

(2) ejb-jar.xmlを含まない場合(EJB3.0以降)

タグ名出現パターン説明
<hitachi-ejb-jar-property>1回ルートタグ。

<description>※10回以上※2EJB-JARの説明。※3





<display-name>※11回以上※2EJB-JARの表示名。※3
1≦文字列長
変更する場合,英数字(0~9,A~Z,a~z),およびアンダースコア(_)を使用できます。


<icon>※10回以上※2GUIツール上に表示されるEJB-JARのアイコンの定義。※3




<small-icon>0または1回スモールアイコン(16×16)のファイル名。※3


<large-icon>0または1回ラージアイコン(32×32)のファイル名。※3

<interceptors>0または1回インターセプタの設定。※4


<description>※10回以上※2interceptorsの説明。※4

<interceptor>1回以上インターセプタクラスの設定。※4

 
<description>※10回以上※2interceptor-classの説明。※4

 
<interceptor-class>1回インターセプタクラスの名称。※4


 

<around-invoke>0回以上インターセプタのaroundinvokeメソッドの定義。※4



 





<class>0または1回インターセプタのaroundinvokeメソッドが存在するクラスをパッケージ名から表示。※4


 

<method-name>1回インターセプタのaroundinvokeメソッドの名称。※4


 

<post-construct>0回以上インターセプタのpost-constructメソッドの定義。※4



 





<lifecycle-callback-class>0または1回インターセプタのpost-constructメソッドが存在するクラスをパッケージ名から表示。※4


 

<lifecycle-callback-method>1回インターセプタのpost-constructメソッド名を表示。※4


 

<pre-destroy>0回以上インターセプタのpre-destroyメソッドの定義。※4



 





<lifecycle-callback-class>0または1回インターセプタのpre-destroyメソッドが存在するクラスをパッケージ名から表示。※4


 

<lifecycle-callback-method>1回インターセプタのpre-destroyメソッド名を表示。※4


 

<post-activate>0回以上インターセプタのpost-activateメソッドの定義。※4



 





<lifecycle-callback-class>0または1回インターセプタのpost-activateメソッドが存在するクラスをパッケージ名から表示。※4

┃┃
 

<lifecycle-callback-method>1回インターセプタのpost-activateメソッド名を表示。※4


 <pre-passivate>0回以上インターセプタのpre-passivateメソッドの定義。※4



  


<lifecycle-callback-class>0または1回インターセプタのpre-passivateメソッドが存在するクラスをパッケージ名から表示。※4


  <lifecycle-callback-method>1回インターセプタのpre-passivateメソッド名を表示。※4















<interceptor-binding>0回以上クラスレベルインターセプタおよびメソッドレベルインターセプタに関する設定を表示します。cjsetrespropでは無視されます。※5
<ejb-name>にワイルドカード(*)を設定した<interceptor-binding>の指定が複数ある場合,ワーニングメッセージ(KDJE37604-W)を出力し,先に設定された<interceptor-binding>の<interceptor-class>の値が有効となります。








<description>※10回以上interceptor-bindingの説明を表示します。デフォルトインターセプタに関する定義の場合interceptor-bindingの説明を記述します。








<ejb-name>1回ワイルドカード(*),またはEnterprise Beanの<ejb-name>を表示。デフォルトインターセプタに関する定義の場合,ワイルドカード(*)を記述。












<interceptor-class>0回以上インターセプタのクラス名を表示。デフォルトインターセプタに関する定義の場合。インターセプタクラスのクラス名を記述。
<interceptor-order>を指定した場合は不要です。








<interceptor-order>0回以上インターセプタの順序性およびレベルについての設定を表示。
<interceptor-class>を指定した場合は不要です。※4


<interceptor-class>1回以上インターセプタのクラス名を表示。※4








<exclude-default-interceptors>0または1回デフォルトインターセプタを除外するか否かを表示。除外する場合true,除外しない場合false。デフォルトはfalse。※4






<exclude-class-interceptors>0または1回クラスインターセプタを除外するか否かを表示。除外する場合true,除外しない場合false。デフォルトはfalse。※4

<named-method>0または1回メソッドの定義を表示。

 
<method-name>1回メソッド名を表示。※4

 <method-params>0または1回メソッドの引数を表示。※4

  <method-param>0回以上メソッドの引数を表示。※4

<application-exception>0回以上アプリケーション例外に関する設定を表示。※4




<exception-class>1回クライアントに通知する例外クラス名を表示。※4








<rollback>0または1回指定した例外が発生したとき,クライアントに通知する前にロールバックを行うか否かを表示。ロールバックを行う場合true,ロールバックを行わない場合false。デフォルトはfalse。※4
<ejb-client-jar>0または1回クライアントJARファイル名を表示。
注※1
xml:lang属性を指定できます。xml:lang属性を指定しない場合は,「en(英語)」が仮定されます。なお,xml:lang属性が同じタグを複数指定できません。
注※2
EJB2.0以前のEJBに対して,このタグを複数指定できません。
注※3
アノテーションの設定値の場合は,値の変更をしてはいけません。
注※4
cjgetappprop,cjgetrespropコマンドで出力されたものに対し,タグ名の変更,タグの追加・削除,値の変更をしてはいけません。
注※5
デフォルトインターセプタに関する定義(<ejb-name>タグの指定がワイルドカード(*)の場合)にだけ追加,変更できます。