Oracle® Fusion Middleware Oracle WebLogic Server WebLogic SCAアプリケーションの開発 11g リリース1 (10.3.6) B61414-04 |
|
![]() 前 |
![]() 次 |
この章では、サービスおよび参照用のEJBセッションBeanバインディングを構成する方法について説明します。
EJBセッションBeanバインディングはSCAサービスおよびSCA参照の両方に適用できます。アプリケーション用のSpringアプリケーション・コンテキスト・ファイルの<binding.ejb>
要素で、EJBセッションBeanバインディングを構成します。背景情報については、次を参照してください。
WebLogic Spring SCAアプリケーション用のSpringアプリケーション・コンテキストの構成についての一般情報は、第6章「Springアプリケーション・コンテキストの構成」を参照してください。
<binding.ejb>
要素を定義するスキーマについては、付録A「WebLogic SCAバインディング・スキーマ(weblogic-sca-binding.xsd)」を参照してください。
注意: EJBバインディング・コンポーネントの実装はSCA EJBセッションBeanバインディング仕様(http://www.osoa.org/download/attachments/35/SCA_EJBSessionBeanBinding_V100.pdf )に基づきます。ただし、このリリースのWebLogic SCAでは、次の機能はサポートされません。
|
binding.ejb
要素の属性は次のとおりです。
name
オプション。バインディングの名前を指定します。
uri
必須。参照のEJBバインディングの場合、uri
はターゲットEJBのJNDI名を指定します。サービスのEJBバインディングの場合、uri
値はEJBがバインドされるJNDI名です。
拡張CORBA名URIはサポートされません。次の2つの単純化されたパターンがサポートされます。どちらも、JNDI名ejb/MyHome
にバインドされるサービス実装になります。
uri="corbaname:rir:#ejb/MyHome"
uri="ejb/MyHome"
dispatchPolicy
オプション。サービス・バインディングとともに使用されます。着信起動に使用されるWorkManagerの名前を指定します。
binding.ejb
がSCAサービスに構成されている場合、サービス・インタフェースの実装はアプリケーションがデプロイされるときにJNDIで使用可能になります。するとサービスはEJBプログラミング・モデルを使用して起動できます。たとえば、これによりクライアントは、基礎となるサービスがデプロイされたEJBであるかのように、サービスをルックアップおよび起動できます。これは従来のEJBのクライアントを更新する必要なしに、 既存のEJBサービスをSCA実装で置き換えたい場合に有用なことがあります。
EJB3プログラミング・モデルだけがEJBセッションBeanサービス・バインディング用にサポートされます。
binding.ejbのuri
属性を使用してJNDI名を指定します。「binding.ejb要素の属性」を参照してください。
すべてのEJBサービス・バインディングはリモートなので、リモートからルックアップおよび起動できます。
リモート・サービスの実装はクラスタ化可能です。サービス・バインディングにクライアント・タイムアウトを設定できます。クライアント・タイムアウトを指定するには、binding.ejb
jarファイルにあるEJBServiceDelegateImplRTD.xml
ファイルを編集します。
EJBサービス・バインディングはオプションでディスパッチ・ポリシーを指定できます。ディスパッチ・ポリシーを指定するには、<binding.ejb>
のdispatchPolicy
属性を、着信起動に使用するWorkManagerの名前に設定します。設定したWorkManagerが見つからない場合、実行時に警告が発行され、デフォルトのWorkManagerが使用されます。
binding.ejb
がSCAリファレンスに対して構成されていると、ターゲットEJBは、EJBプログラミング・モデルについて知らなくても解決され、呼び出されます。(WebLogic SCAランタイムは、JNDIルックアップから返されたオブジェクトがjavax.ejb.EJBHome
を実装するしないかに基づいて、ターゲットEJBのプログラミング・モデルを決定します。)
ターゲットEJBはすぐに解決されるわけではなく、起動のサービスの必要に応じて実行時に解決されます。
これにより、SCA POJO実装はデプロイされたEJBを他のSCA参照の起動と同じ方法で起動できます。WebLogic SCAランタイムはターゲットEJBをJNDIからリックアップし、メソッド呼出しをEJBへ委任します。この方法でbinding.ejb
を使用すると、依存コンポーネントの実装を更新する必要なく、柔軟に、EJBサービスをEJB以外のサービスに置き換えることができます。
次に説明するように、EJB2およびEJB3プログラミング・モデルは参照バインディング用にサポートされます。
ターゲットEJBがEJB 2.xクライアント・ビューを使用する場合、バインディング実装はhome.create()
メソッドを起動してEJBのリモート・インタフェース実装を取得します。バインディング実装はまた参照インタフェース・メソッド起動をEJBリモート・インタフェース起動へ変換します。
参照インタフェースのメソッドは、SCA EJBセッションBeanバインディング仕様(http://www.osoa.org/download/attachments/35/SCA_EJBSessionBeanBinding_V100.pdf
)の項2.2「インタフェース・マッピング」のルールに従ってリモート・インタフェースにマップされます。