Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3 RESTful Webサービスの開発と保護 12c (12.1.3) E57546-02 |
|
前 |
この付録では、WebLogic Server 12.1.3内のRESTful Webサービス・アプリケーションで使用する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 JAX-RS RIのバージョンを更新するには、EARまたはWARファイルのどちらを更新するかに応じて、次のいずれかの手順を使用します。
EARファイルでのJersey JAX-RS RIのバージョンを更新するには:
優先Jersey JAX-RS RIパッケージをデプロイ済Webアプリケーションに含めます。
アプリケーションの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 JAX-RS RIのバージョンを更新するには(パッケージ化されたスタンドアロンまたはEARファイル内):
優先Jersey JAX-RS RIパッケージをデプロイ済Webアプリケーションに含めます。
アプリケーションの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>