プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3 RESTful Webサービスの開発と保護
12c (12.1.3)
E57546-02
  目次へ移動
目次

前
 
 

A Jersey 1.x JAX-RS RIのバージョンの更新

この付録では、WebLogic Server 12.1.3内のRESTful Webサービス・アプリケーションで使用するJersey 1.x JAX-RS参照実装(RI)のバージョンの更新方法について説明します。

この付録の内容は次のとおりです。

Jersey 1.x JAX-RS RIのバージョンの更新について

WebLogic Serverでは、JSR-311 JAX-RS 1.1仕様(https://jcp.org/en/jsr/summary?id=311で定義)の製品レベル品質を実装したJersey 1.18 JAX-RS 1.1参照実装(RI)をサポートしています。必要に応じて、アプリケーション・レベルでさらに新しいバージョンのJersey 1.x JAX-RS RIを使用できます。

WebLogic Serverでは、システム・クラスパスにあるJARファイルはWebLogic Serverのシステム・クラスローダーによってロードされます。サーバー・インスタンスの内部で実行されるすべてのアプリケーションは、システム・クラスローダーの子であるアプリケーション・クラスローダー内にロードされます。サード・パーティのJARがシステム・クラスローダーに存在する場合、アプリケーションはフィルタ・クラス・ローダーを使用して異なるバージョンをロードおよび使用します。

フィルタ・クラスローダーは、デプロイメント記述子を構成することで、特定のパッケージがシステム・クラスローダーによってロードされるのではなく、常にアプリケーションからロードされるように明示的に指定するメカニズムです。フィルタ・クラスローダーの使用の詳細は、『Oracle WebLogic Serverアプリケーションの開発』のフィルタ・クラスローダーの使用に関する項を参照してください。

アプリケーション・レベルでのJersey 1.x JAX-RS RIのバージョンの更新

アプリケーション・レベルでJersey JAX-RS RIのバージョンを更新するには、EARまたはWARファイルのどちらを更新するかに応じて、次のいずれかの手順を使用します。

EARファイルでのJersey 1.x JAX-RS RIのバージョンの更新方法

EARファイルでのJersey JAX-RS RIのバージョンを更新するには:

  1. 優先Jersey JAX-RS RIパッケージをデプロイ済Webアプリケーションに含めます。

  2. アプリケーションのEARファイルとパッケージ化されたweblogic-application.xmlデプロイメント記述子を編集し、<prefer-application-packages要素を、リストされた優先ライブラリ・パッケージに含めます。<prefer-application-packages要素をweblogic-application.xmlに追加する詳細は、『Oracle WebLogic Serverアプリケーションの開発』のweblogic-application.xmlデプロイメント記述子要素に関する項を参照してください。

    例A-1に、weblogic-application.xmlファイルを更新する方法の例を示します。

    例A-1 weblogic-application.xmlファイルでのJersey 1.x JAX-RS RIのバージョンの更新

    <weblogic-web-app 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=
    "http://www.oracle.com/technology/weblogic/weblogic-web-app/1.1/weblogic-web-app.xsd"
    xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app">
        <prefer-application-packages>
            <!-- jersey-bundle-*.jar -->
            <package-name>com.sun.jersey.*</package-name>
            <package-name>com.sun.research.ws.wadl.*</package-name>
            <package-name>com.sun.ws.rs.ext.*</package-name>
    
            <!-- Jackson-*.jar -->
            <package-name>org.codehaus.jackson.*</package-name>
     
            <!-- jettison-*.jar -->
            <package-name>org.codehaus.jettison.*</package-name>
     
            <!-- jsr311*.jar -->
            <package-name>javax.ws.rs.*</package-name>
     
            <!-- asm.jar -->
            <package-name>org.objectweb.asm.*</package-name>
        </prefer-application-packages>
    ...
    </weblogic-web-app>
    

WARファイルでのJersey 1.x JAX-RS RIのバージョンの更新方法

WARファイルでのJersey JAX-RS RIのバージョンを更新するには(パッケージ化されたスタンドアロンまたはEARファイル内):

  1. 優先Jersey JAX-RS RIパッケージをデプロイ済Webアプリケーションに含めます。

  2. アプリケーションのWARファイルとパッケージ化されたweblogic.xmlデプロイメント記述子を編集し、<prefer-application-packages要素を、リストされた優先ライブラリ・パッケージに含めます。<prefer-application-packages要素をweblogic.xmlに追加する詳細は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』のprefer-application-packagesに関する項を参照してください。

    例A-2に、weblogic.xmlファイルを更新する方法の例を示します。

    例A-2 weblogic.xmlファイルでのJersey 1.x JAX-RS RIのバージョンの更新

    <?xml version="1.0" encoding="UTF-8"?>
     
    <wls:weblogic-web-app
    xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
    http://xmlns.oracle.com/weblogic/weblogic-web-app
    http://xmlns.oracle.com/weblogic/weblogic-web-app/1.7/weblogic-web-app.xsd">
     
         ...
        <wls:container-descriptor>
            <wls:prefer-application-packages>
                <!-- jersey-bundle-*.jar -->
                <wls:package-name>com.sun.jersey.*</wls:package-name>
                <wls:package-name>com.sun.research.ws.wadl.*</wls:package-name>
                <wls:package-name>com.sun.ws.rs.ext.*</wls:package-name>
    
                <!-- Jackson-*.jar -->
                <wls:package-name>org.codehaus.jackson.*</wls:package-name>
     
                <!-- jettison-*.jar -->
                <wls:package-name>org.codehaus.jettison.*</wls:package-name>
     
                <!-- jsr311*.jar -->
                <wls:package-name>javax.ws.rs.*</wls:package-name>
     
                <!-- asm.jar -->
                <wls:package-name>org.objectweb.asm.*</wls:package-name>
            </wls:prefer-application-packages>
        </wls:container-descriptor>
    </wls:weblogic-web-app>