管理 Bean
Java™ Platform Enterprise Edition (EE) の 管理 Bean を定義するために 管理 Bean 仕様 (JSR -316) が使用されます。これは、Java EE 6 プラットフォームの一部です。
Managed Bean は、リソース注入、ライフサイクル・コールバック、およびインターセプターなどの最小限のサポート・サービスを備え、以下のような特性を持つコンテナー管理オブジェクトです。
- Managed Bean には、独自のコンポーネント有効範囲 java:comp 名前空間がありません。 したがって、そのリソースは java:app および java:module でのみ定義可能です。
- Managed Bean メソッドは、呼び出し側スレッドと同じスレッドで実行します。 例えば、メソッドが独自のスレッドを開始することはありません。
- Managed Bean メソッドは、呼び出し側スレッドと同じコンテキストを使用します。
- Managed Bean は、javax.annotation.ManagedBean アノテーションで定義されます。
- Managed Bean は、オプションの名前を持つことが可能であり、名前がある場合にのみ java:module および java:app にバインドされます。以下に例を示します。
@ManagedBean(“myCart“) public class Cart { ... }
- Managed Bean への参照は、リソース注入か、(名前が指定されている場合に) java:module や java:app での検索を通じて取得することができます。
- 管理 Bean は、javax.annotation.PostConstruct および javax.annotation.PreDestroy アノテーションを使用したライフサイクル・コールバックをサポートします。
ibm-managed-bean-bnd.xml ファイルを使用して JNDI にリソースをマップするバインディング情報を指定できます。
ibm-managed-bean-bnd.xml ファイルの使用例を以下に示します。
<?xml version="1.0" encoding="UTF-8"?>
<managed-bean-bnd
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://websphere.ibm.com/xml/ns/javaee"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-managed-bean-bnd_1_0.xsd"
version="1.0">
<managed-bean class="com.ibm.example.MyManagedBean">
<resource-ref name="myDS" binding-name="jdbc/ds1"/>
<resource-ref name="com.ibm.example.MyManagdBean/field" binding-name="jdbc/ds2"/>
<message-destination-ref name="myQueue" binding-name="jms/mqQueue"/>
<ejb-ref name="myEJB" binding-name="java:app/MyEJBModule/MyStatelessBean"/>
</managed-bean>
<interceptor class="com.ibm.example.MyManagedBeanInterceptor">
<resource-ref name="interceptorDS" binding-name="jdbc/db2ds"/>
</interceptor>
</managed-bean-bnd>
管理 Bean のバインディング・スキーマによる定義に従って、ibm-managed-bean-bnd.xml ファイルは、共通エレメント定義のサブセットを EJB バインディングと共有します。
EJB バインディング・エレメントとその説明のリストについては、『EJB 3.0 および EJB 3.1 アプリケーション・バインディングの概要』ページを参照してください。