ヘッダーをスキップ
Oracle Fusion Middleware Oracle WebLogic Server RESTful Webサービスの開発
12cリリース1 (12.1.1)
B65960-02
  目次へ移動
目次

前
 
 

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

この付録は、RESTful Webサービス・アプリケーションで使用するJersey JAX-RS Reference Implementation (RI)のバージョンの更新方法について説明します。

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

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

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

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

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

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

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

EARファイルでのJersey 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 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 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 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.2/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.*</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>