Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)


9.3.1 CDIの対象となるアプリケーション

CDI 2.0仕様では,beans.xmlファイルの有無に関係なく,CDI管理対象クラスを含んだすべてのアーカイブがCDIの管理対象になります。このとき,メッセージKDJE59300-I,KDJE59301-I,KDJE59302-Iは出力されません。ただし,ejbserver.javaee.cdi.beansXmlRequiredにtrue(大文字小文字は区別しない)を指定した場合,CDI 1.0仕様と同様にbeans.xmlファイルが存在するアーカイブだけがCDIの管理対象になり,アーカイブごとにbeans.xmlの有無に応じてメッセージKDJE59300-I,KDJE59301-I,KDJE59302-Iが出力されます。

なお,WARファイル内のWEB-INF/lib以下のJARファイルをCDIの管理対象にするには,次のどちらかの条件を満たす必要があります。

注※ 展開ディレクトリ形式の場合,WARファイルはWARディレクトリを意味します。

このときメッセージKDJE42412-I,およびKDJE59330-Iが出力される場合があります。

メッセージKDJE42412-Iは,WARファイルごとに次の条件をすべて満たす場合だけ出力されます。

メッセージKDJE59330-Iは,WARファイル内のWEB-INF/lib以下のJARファイルごとに次の条件をすべて満たす場合だけ出力されます。

また,ejbserver.javaee.cdi.webInfLibJarsEnabledがtrueの場合,デプロイ性能に影響します。そのため,WARファイル内のWEB-INF/lib以下のJARファイルをCDIの管理対象にする必要がない場合は,ejbserver.javaee.cdi.webInfLibJarsEnabledをfalseにして,デプロイ性能への影響を抑えることができます。

J2EEモジュールの種類ごとに,beans.xmlファイルの格納先を示します。

表9‒2 J2EEモジュールの種類ごとのbeans.xmlの格納先

J2EEモジュールの種類

beans.xmlの格納先

EJB-JAR

META-INF/beans.xml

ライブラリJAR

META-INF/beans.xml

WAR(WEB-INF/classes)

WEB-INF/beans.xml

WAR(WEB-INF/lib以下のJAR)

META-INF/beans.xml

注※ ejbserver.javaee.cdi.webInfLibJarsEnabledがtrueの場合だけサポートします。

CDIの対象にできるコンポーネントのバージョン,およびCDIを使用できるオブジェクトについて次の表に示します。

表9‒3 CDIの対象にできるコンポーネントのバージョン,およびCDIを使用できるオブジェクト

コンポーネントの種類

サポートしているコンポーネントのバージョン

使用できるオブジェクト

EJB

EJB3.1以降

(ejb-jar.xmlのバージョンが3.1以降)

Session Bean

Servlet

Servlet3.0以降

(web.xmlのバージョンが3.0以降)

  • Servlet

  • Listener

  • Filter

JSP

JSP2.1以降

(web.xmlのバージョンが3.0以降)

ELの構文に対応するオブジェクト

JSF

JSF2.1以降

(web.xmlのバージョンが3.0以降,およびアプリケーションサーバがサポートするJSFフレームワーク)

ELの構文に対応するオブジェクト

JAX-RS

JAX-RS 2.0以降

(アプリケーションサーバが提供するJAX-RSエンジンに限る)

  • ルートリソースクラス

  • プロバイダ

  • Applicationのサブクラス

Java Batch

Java Batch 1.0以降

Batch Artifact

WebSocket

WebSocket 1.0以降

ServerEndpoint

注 JAX-WS,JPAなど,上記以外のコンポーネントを使用する場合は,CDIの対象にできません。