標準のWeblogic Serverインストールでは、WebLogic Server Java EEコンテナで、標準のJava EE 5の依存関係インジェクション(DI)とインターセプタ(アスペクト指向プログラミングの形式)が提供されます。また、拡張された依存関係インジェクション機能とアスペクト指向プログラミングを提供するSpring Framework拡張機能もサポートされます。この拡張では、JSR-250 (共通アノテーション)、依存関係インジェクション、およびEJB 3.0スタイルのインターセプションを提供するSpring FrameworkアドオンのPitchforkを使用します。(http://oss.oracle.com/projects/pitchfork/
を参照してください。)この拡張によって、サーブレット・リスナーやフィルタを含むEJBインスタンスおよびWebコンポーネントに、依存関係インジェクションとアスペクト指向プログラミングが提供されます。
注意: このリリースのWebLogic ServerのJSPタグ・ハンドラではSpring拡張機能はサポートされません。 |
WebLogic ServerでSpring拡張機能を有効にするには、次を実行します:
http://www.springsource.com/download
から特定のバージョンのSpringおよびその依存性をダウンロードします。Oracleによって認定されているバージョンのSpringをダウンロードしてください。詳細は、「Oracle Fusion Middlewareのサポートされるシステム構成」ページ(http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html
)の適切な「Oracle WebLogic Server」のリンクを参照してください。
最低でも、以下のJARファイルが必要になります。
spring.jar
aspectjweaver.jar
commons-logging.jar
log4j-1.2.14.jar
pitchfork.jar
http://oss.oracle.com/projects/pitchfork/
からのpitchfork.jar
もダウンロードします。
必要に応じて他のJARファイルを追加しても構いません。
上記のJARファイルを、WebLogic Serverのクラスパスに追加します。『Oracle WebLogic Serverアプリケーションの開発』のシステム・クラスパスへのJARの追加に関する項を参照してください。
Weblogic Server WebコンテナおよびEJBコンテナでは、これらのJARを使用してコンテナ・サービス(依存関係インジェクションとインターセプタ)を提供します。
これらのJARはサーバーのクラスパスに追加されているため、アプリケーション(EAR、WAR、またはJARファイルとしてパッケージ化したもの)でも使用されます。アプリケーションと一緒にパッケージ化されているJARを使用するようにアプリケーションを構成するには、特定のデプロイメント記述子を有効にする必要があります。
<component-factory-class-name>
要素をorg.springframework.jee.interfaces.SpringComponentFactory
に設定してSpring拡張機能を有効にします。この要素は、EJB、Web、およびアプリケーション記述子に含まれています。アプリケーション・レベルの記述子は、モジュール・レベルの記述子によって上書きされます。このタグをnull (デフォルト)に設定すると、Spring拡張機能は無効になります。
spring-ejb-jar.xml
またはspring-web.xml
という名前の標準Spring bean定義ファイルを、アプリケーションの/WEB-INF/classes/META-INFディレクトリ(またはJARファイル内のMETA-INFディレクトリ)に配置します。WebLogicコンテナは、これらの名前で標準のSpring Bean定義ファイルを検索します。SpringコンテナからEJBやサーブレットのインスタンスを認識するには、Spring beanの<id>
タグを、EJBの場合はejb-name
に、Webコンポーネントの場合はclass-name
に設定する必要があります。
たとえば、次のようなステートレスEJBに対して、
@Stateless public class TraderImpl implements Trader { private List symbolList; public void setSymbolList(List l) { symbolList = l; } ... }
アプリケーションに以下のspring-ejb-jar.xml
を追加することができます。
<beans> <!-- id corresponds to ejb-name. --> <bean id="Trader"> <property name="symbolList"> <list> <value>ORCL</value> <value>MSFT</value> </list> </property> </beans>
標準のJava EE仕様で利用できないEJBにsymbolList
を注入できます。