2.1.3 javax.ejbパッケージに含まれるアノテーションのサポート範囲

javax.ejbパッケージのアノテーションの適用範囲を説明します。ここでは,コンポーネントごとに記述できるアノテーションを説明します。

<この項の構成>
(1) WARファイル(Servlet 3.0対応)
(2) WARファイル(Servlet 2.5対応)
(3) EJB-JARファイル(EJB3.1対応)
(4) EJB-JARファイル(EJB3.0対応)
(5) ライブラリJAR(サーブレット/JSP)
(6) ライブラリJAR(Enterprise Bean/例外クラス/その他のクラス)

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

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

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

アノテーション名Servlet仕様JSP仕様例外クラスManagedBean(JSF)その他のクラス
サーブレットサーブレット(API)サーブレットフィルタサーブレットフィルタ(API)イベントリスナイベントリスナ(API)JSPファイルタグハンドラタグライブラリイベントリスナ
クラシックタグハンドラシンプルタグハンドラ
@ApplicationException
@EJB×
@EJBs×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。

(2) WARファイル(Servlet 2.5対応)

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

表2-11 WARファイル(Servlet 2.5対応)に記述できるアノテーション(javax.ejbパッケージ)

アノテーション名Servlet仕様JSP仕様その他のクラス
サーブレットサーブレットフィルタイベントリスナJSPファイルタグハンドラタグライブラリイベントリスナ
クラシックタグハンドラシンプルタグハンドラ
@EJB×
@EJBs×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。

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

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

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

アノテーション名Enterprise Bean例外クラスその他のクラス
インタフェースSession BeanEntity BeanMessage-driven Beanインターセプタ
デフォルトインターセプタ以外デフォルトインターセプタ
@AccessTimeout※1
@AfterBegin※2
@AfterCompletion※2
@ApplicationException
@Asynchronous※3
@BeforeCompletion※2
@ConcurrencyManagement※1
@DependsOn※1
@EJB×
@EJBs×
@Init※2
@Local
@LocalBean
@LocalHome
@Lock※1
@Remote
@RemoteHome
@Remove※2
@Schedule※3×
@Schedules※3×
@Singleton※1
@Startup※1
@Stateful※2
@Stateless※4
@Timeout※3×
@TransactionAttribute×
@TransactionManagement×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。
注※1
Singleton Session Beanの場合にだけ使用できます。
注※2
Stateful Session Beanの場合にだけ使用できます。
注※3
Stateless Session BeanとSingleton Session Beanの場合にだけ使用できます。
注※4
Stateless Session Beanの場合にだけ使用できます。

(4) EJB-JARファイル(EJB3.0対応)

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

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

アノテーション名Enterprise Bean例外クラスその他のクラス
インタフェースSession BeanEntity BeanMessage-driven Beanインターセプタ
デフォルトインターセプタ以外デフォルトインターセプタ
@ApplicationException
@EJB×
@EJBs×
@Init※1
@Local
@LocalHome
@Remote
@RemoteHome
@Remove※1
@Stateful※1
@Stateless※2
@Timeout※2×
@TransactionAttribute×
@TransactionManagement×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。
注※1
Stateful Session Beanの場合にだけ使用できます。
注※2
Stateless Session Beanの場合にだけ使用できます。

(5) ライブラリJAR(サーブレット/JSP)

ライブラリJARのサーブレットまたはJSPに記述できるアノテーションの一覧を示します。

表2-14 ライブラリJAR(サーブレット/JSP)に記述できるアノテーション(javax.ejbパッケージ)

アノテーション名Servlet仕様JSP仕様
サーブレットサーブレット(API)サーブレットフィルタサーブレットフィルタ(API)イベントリスナイベントリスナ(API)JSPファイルタグハンドラタグライブラリイベントリスナ
クラシックタグハンドラシンプルタグハンドラ
@EJB×
@EJBs×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。

(6) ライブラリJAR(Enterprise Bean/例外クラス/その他のクラス)

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

表2-15 ライブラリJAR(Enterprise Bean/例外クラス/その他のクラス)に記述できるアノテーション(javax.ejbパッケージ)

アノテーション名Enterprise Bean例外クラスその他のクラス
インタフェースSession BeanEntity BeanMessage-driven Beanインターセプタ
@ApplicationException
@EJB
@EJBs
@Local
@Remote
(凡例)
○:対応する。
-:標準仕様で対応していない。