ヘッダーをスキップ
Oracle® Fusion Middleware WebLogic Server での Spring のサポート
11g リリース 1 (10.3.1)
B55577-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

6 WebLogic Server への Spring 依存性注入の拡張

標準の Weblogic Server インストールでは、WebLogic Server Java EE コンテナで、標準の Java EE 5 の依存性注入 (DI) とインターセプタ (アスペクト指向プログラミングの形式) が提供されます。また、拡張された依存性注入機能とアスペクト指向プログラミングを提供する Spring Framework 拡張機能もサポートされます。この拡張では、JSR-250 (共通アノテーション)、依存性注入、および EJB 3.0 スタイルのインターセプションを提供する Spring Framework アドオンの Pitchfork を使用します。(http://www.springsource.com/pitchfork を参照。) この拡張によって、サーブレット リスナやフィルタを含む EJB インスタンスおよび Web コンポーネントに、依存性注入とアスペクト指向プログラミングが提供されます。


注意 :

このリリースの WebLogic Server の JSP タグ ハンドラでは Spring 拡張機能はサポートされません。

WebLogic Server で Spring 拡張機能を有効にするには、次の手順に従います。

  1. 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://www.springsource.com/pitchfork からの pitchfork.jar もダウンロードします。

    必要に応じて他の JAR ファイルを追加しても構いません。

  2. 上記の JAR ファイルを、WebLogic Server のクラスパスに追加します。『Oracle Fusion Middleware Oracle WebLogic Server アプリケーションの開発』の「システム クラスパスへの JAR の追加」を参照してください。

    Weblogic Server Web コンテナおよび EJB コンテナでは、これらの JAR を使用してコンテナ サービス (依存性注入とインターセプタ) を提供します。

    これらの JAR はサーバのクラスパスに追加されているため、アプリケーション (EAR、WAR、または JAR ファイルとしてパッケージ化したもの) でも使用されます。アプリケーションと一緒にパッケージ化されている JAR を使用するようにアプリケーションをコンフィグレーションするには、特定のデプロイメント記述子を有効にする必要があります。

  3. <component-factory-class-name> 要素を org.springframework.jee.interfaces.SpringComponentFactory に設定して Spring 拡張機能を有効にします。この要素は、EJB、Web、およびアプリケーション記述子に含まれています。アプリケーション レベルの記述子は、モジュール レベルの記述子によって上書きされます。このタグを null (デフォルト) に設定すると、Spring 拡張機能は無効になります。

  4. 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 は ejb-name に対応する。-->
      <bean id="Trader">
         <property name="symbolList">
           <list>
             <value>ORCL</value>
             <value>MSFT</value>
           </list>
         </property>
    </beans>
    

    標準の Java EE 仕様で利用できない EJB に symbolList を注入できます。