Cosminexus 機能解説
Webアプリケーションにはアノテーションを指定できます。アノテーションとは,Webアプリケーションが依存しているリソースやほかのEnterprise Beanへの参照を取得するために使用する記述方式で,Servlet 2.4の場合に指定できます。なお,Servlet 2.3以前のバージョンのweb.xmlがある場合,アノテーションの指定は無効になります。
Webアプリケーションに指定できるアノテーションは次のとおりです。
なお,@EJBおよび@Resourceアノテーションのname属性は,web.xmlのタグの要素と対応しています。このため,アノテーションでEnterprise Beanおよびリソースへの参照を定義する場合は,@EJBおよび@Resourceアノテーションのname属性と,name属性に対応するweb.xmlのタグに指定する要素は,重複しないように設定してください。name属性に対応するweb.xmlのタグを次の表に示します。
表4-5 name属性に対応するweb.xmlのタグ
アノテーションと属性 | name属性に対応するweb.xmlのタグ |
---|---|
@EJB name() | <ejb-ref>タグ下の<ejb-ref-name>タグ |
<ejb-local-ref>タグ下の<ejb-ref-name>タグ | |
@Resource name() | <env-entry>タグ下の<env-entry-name>タグ |
<resource-ref>タグ下の<res-ref-name>タグ | |
<resource-env-ref>タグ下の<resource-env-ref-name>タグ |
DIを使用するWebアプリケーションのリロード時には,例外が発生することがあります。例外が発生する場合を次に示します。
例外が発生すると,メッセージログにKDJE53904-Wのメッセージが出力され,処理が続行されます。処理は続行されますが,対象となるインスタンスに対するDIが実行できない状態になり,対象のインスタンスへのリクエストが実行できなくなります。このため,このメッセージが出力された場合は,Webアプリケーションを修正して再度リロードを実施してください。
Cosminexusは,Servlet2.4仕様に基づいたWebアプリケーションでもアノテーションを使用できます。しかし,アノテーションの有無を判断するためにWebアプリケーションを解析するため,アノテーションを使用していない場合でも解析によるオーバーヘッドが大きくなります。アノテーションを使用しない場合は,アノテーション参照抑止機能を使用することで解析によるオーバーヘッドを減らすことができます。アノテーション参照抑止機能は,J2EEサーバ単位で設定できます。アノテーション参照抑止機能については,「5.2.7 アノテーションの参照抑止」を参照してください。
WARファイルからEJB-JARファイルを参照している場合,WARファイルとEJB-JARファイルの両方を含んだアプリケーションにしてからインポートしてください。ただし,参照するインタフェースをWARファイルに含めている場合は,WARファイルを個別にインポートすることもできます。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.