Hitachi

Cosminexus V11 アプリケーションサーバ リファレンス API編


2.1.12 CDIのアノテーションのサポート範囲

CDIのアノテーションのサポート範囲を次の表に示します。

パッケージ

含まれるアノテーション

アプリケーションサーバのサポートの有無

javax.decorator

@Decorator

〇

@Delegate

〇

javax.enterprise.context

@ApplicationScoped

〇

@ConversationScoped

〇

@Dependent

〇

@Destroyed

〇

@Initialized

〇

@NormalScope

〇

@RequestScoped

〇

@SessionScoped

〇

javax.enterprise.event

@Observes

〇

javax.enterprise.inject

@Alternative

〇

@Any

〇

@Decorated

〇

@Default

〇

@Disposes

〇

@Intercepted

〇

@Model

〇

@New

〇

@Produces

〇

@Specializes

〇

@Stereotype

〇

@TransientReference

〇

@Typed

〇

javax.enterprise.inject.spi

@WithAnnotations

〇

javax.inject

@Inject

〇

@Named

〇

@Qualifier

〇

@Scope

〇

@Singleton

〇

(凡例)

○:対応する。

ここでは,コンポーネントごとに記述できるアノテーション(@Injectアノテーション)を説明します。なお,@Injectアノテーション以外のアノテーションについては,CDIに依存します。CDIに依存するアノテーションについては,CDI仕様のドキュメントを参照してください。

〈この項の構成〉

(1) WARファイル(Servlet 3.1/Servlet 3.0対応)

WARファイルに記述できるアノテーションの一覧を示します。

表2‒25 WARファイル(Servlet 3.1/Servlet 3.0対応)に記述できるアノテーション(javax.injectパッケージ)

アノテーション名

Servlet仕様

JSP仕様

インターセプタ(CDI対象)

例外クラス

ManagedBean(JSF)

その他のクラス

サーブレット

サーブレット(API)

サーブレットフィルタ

サーブレットフィルタ(API)

イベントリスナ

イベントリスナ(API)

JSPファイル

タグハンドラ

タグライブラリイベントリスナ

クラシックタグハンドラ

シンプルタグハンドラ

@Inject

○

−

○

−

○

−

×

×

×

×

○

×

○

○※

(凡例)

○:対応する。

−:標準仕様で対応していない。

×:アプリケーションサーバでは対応しない。

注※

該当するコンポーネントがCDIの機能を含むコンポーネントの場合だけ使用できます。

(2) EJB-JARファイル(EJB3.1対応)

EJB-JARファイルに記述できるアノテーションの一覧を示します。

表2‒26 EJB-JARファイル(EJB3.1対応)に記述できるアノテーション(javax.injectパッケージ)

アノテーション名

Enterprise Bean

インターセプタ(CDI対象)

例外クラス

その他のクラス

インタフェース

Session Bean

Entity Bean

Message-driven Bean

インターセプタ

デフォルトインターセプタ以外

デフォルトインターセプタ

@Inject

×

○

×

×

○

○

○

×

○※

(凡例)

○:対応する。

×:アプリケーションサーバでは対応しない。

注※

該当するコンポーネントがCDIの機能を含むコンポーネントの場合だけ使用できます。

(3) ライブラリJARのServlet/JSP仕様のクラス

ライブラリJARのServlet/JSP仕様のクラスに記述できるアノテーションはありません。

(4) ライブラリJARのその他のクラス

ライブラリJARのその他のクラスに記述できるアノテーションの一覧を示します。

表2‒27 ライブラリJARのその他のクラスに記述できるアノテーション(javax.injectパッケージ)

アノテーション名

Enterprise Bean

インターセプタ(CDI対象)

例外クラス

その他のクラス

インタフェース

Session Bean

Entity Bean

Message-driven Bean

インターセプタ

@Inject

×

×

×

×

○

○

×

○※

(凡例)

○:対応する。

×:アプリケーションサーバでは対応しない。

注※

該当するコンポーネントがCDIの機能を含むコンポーネントの場合だけ使用できます。