| 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>