ヘッダーをスキップ
Oracle® Coherenceクライアント・ガイド
リリース3.7.1
B65027-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

29 Coherence RESTのデプロイ

この章では、Coherence RESTを埋込みHTTPサーバー、WebLogicサーバーおよびGlassFishサーバーにデプロイする方法について説明します。一般的なサーブレット・コンテナの使用方法についても説明します。

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

29.1 埋込みHTTPサーバーによるデプロイ

Coherenceでは、RESTful Webサービスをホストするために使用できる2つの埋込みHTTPサーバーを提供しています。com.tangosol.coherence.rest.server.DefaultHttpServer(Oracleの軽量HTTPサーバーでバッキング)とcom.tangosol.coherence.rest.server.GrizzlyHttpServer(Grizzlyでバッキング)です。デフォルトのHTTPサーバーの変更の詳細は、「埋込みHTTPサーバーの変更」を参照してください。

HTTPサーバーは、Coherenceプロキシ・サーバー上で有効である必要があります。HTTPサーバーを有効にするには、プロキシのキャッシュ構成ファイルを編集して、<http-acceptor>要素を<proxy-scheme>要素の中に追加し、HTTPサーバーのホストおよびポートを指定します。

次の例では、ローカルホスト127.0.0.1およびポート8080でリクエストを受け入れるようにHTTPサーバーを構成します。

<proxy-scheme>
   <service-name>ExtendHttpProxyService</service-name>
   <acceptor-config>
      <http-acceptor>
         <class-name>
            com.tangosol.coherence.rest.server.DefaultHttpServer</class-name>
         <local-address>
            <address>127.0.0.1</address>
            <port>8080</port>
         </local-address>
         <resource-config>
            <instance>
               <class-name>
                  com.tangosol.coherence.rest.server.DefaultResourceConfig
               </class-name>
            </instance>
         </resource-config>
      </http-acceptor>
   </acceptor-config>
   <autostart>true</autostart>
</proxy-scheme>

前述の例では、HTTPサーバー・クラスおよびJerseyリソース構成クラスを明示的に定義しています。ただし、デフォルト値があるので含める必要はありません。すべての<http-acceptor>サブ要素の詳細なリファレンスは、『Oracle Coherence開発者ガイド』を参照してください。

29.2 Java EEサーバーへのデプロイ

この項では、Coherence RestをJava EE環境にデプロイする方法について説明します。

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

29.2.1 デプロイメント用のCoherence RESTのパッケージ化

Coherence RESTアプリケーションをパッケージ化するには:

  1. 次のように基本のWebアプリケーション・ディレクトリ構造を作成します。

    /
    /WEB-INF
    /WEB-INF/classes
    /WEB-INF/lib
    
  2. 次のJARをCOHERENCE_HOME/libディレクトリから/WEB-INF/libディレクトリにコピーします。

    • coherence.jar

    • coherence-rest.jar

    • jackson-all-1.8.1.jar

    • jersey-core-1.7.jar

    • jersey-json-1.7.jar

    • jersey-server-1.7.jar

  3. Webアプリケーション・デプロイメント・ディスクリプタ(web.xml)を作成し、次のサーブレットの定義を含めます。

    <web-app>
       <servlet>
          <servlet-name>Coherence REST</servlet-name>
          <servlet-class>
             com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
          <init-param>
             <param-name>
                com.sun.jersey.config.property.resourceConfigClass</param-name>
               <param-value>
                  com.tangosol.coherence.rest.server.DefaultResourceConfig
                </param-value>
          </init-param>
          <load-on-startup>1</load-on-startup>
       </servlet>
          ...
    </web-app>
    
  4. web.xmlファイルを/WEB-INF/ディレクトリに保存します。

  5. coherence-rest-config.xmlファイルを/WEB-INF/classesディレクトリにコピーします。

  6. coherence-cache-config.xmlファイルおよびtangosol-coherence-override.xmlファイルをWEB-INF/classesディレクトリにコピーします。

  7. jarユーティリティを使用して、Web ARchive(WAR)ファイルを作成します。たとえば、Webアプリケーション・ディレクトリのルートでコマンド・プロンプトから次のコマンドを発行します。

    jar -cvf coherence_rest.war *
    

    アーカイブには次のファイルが含まれます。

    /WEB-INF/web.xml
    /WEB-INF/classes/coherence-rest-config.xml
    /WEB-INF/classes/tangosol-coherence-override.xml
    /WEB-INF/classes/coherence-cache-config.xml
    /WEB-INF/lib/coherence.jar
    /WEB-INF/lib/coherence-rest.jar
    /WEB-INF/lib/jackson-all-1.8.1.jar
    /WEB-INF/lib/jersey-core-1.7.jar
    /WEB-INF/lib/jersey-json-1.7.jar
    /WEB-INF/lib/jersey-json-1.7.jar
    

29.2.2 WebLogicサーバーへのデプロイ

Coherence RESTをWebLogicサーバーにデプロイするには:

  1. 「デプロイメント用のCoherence RESTのパッケージ化」で説明されているように、Coherence RESTをWARファイルとしてパッケージ化します。Coherenceの正しいバージョンが使用されるように、次のWebLogic固有のデプロイメント・ディスクリプタを/WEB-INFディレクトリに追加します。

    <?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/web-app_2_5.xsd
       http://xmlns.oracle.com/weblogic/weblogic-web-app 
       http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
       <wls:container-descriptor>
          <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
       </wls:container-descriptor>
    </wls:weblogic-web-app>
    
  2. WebLogic管理コンソール(http://localhost:7001/console)を使用してWARをデプロイします。

  3. ブラウザから、http://localhost:7001/{cacheName}に移動して、Coherenceキャッシュのデータにアクセスします。

29.2.3 GlassFishへのデプロイ

Coherence RESTをGlassFishサーバーにデプロイするには:

  1. GlassFish管理コンソールから「構成」→JVM設定とクリックして、「JVMオプション」タブに切り替え、次のオプションを追加します。

  2. 「JVMオプション」オプション・タブをクリックして、次のオプションを追加します。

    -Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws.rs,javax.ws.rs.core,javax.ws.rs.ext

  3. 「デプロイメント用のCoherence RESTのパッケージ化」で説明されているように、Coherence RESTをWARファイルとしてパッケージ化します。また、WEB-INF/sun-web.xmlまたはWEB-INF/glassfish-web.xmlでクラス・ローダー委任をfalseに設定することで、GlassFishで配信されるJerseyのバージョンをCoherence RESTで配信されるJerseyのバージョンにオーバーライドします。次に例を示します。

    <sun-web-app error-url="">
       <class-loader delegate="false"/>
    </sun-web-app>
    
  4. GlassFish管理コンソール(http://localhost:4848/console)を使用してWARをデプロイします。

  5. ブラウザから、http://localhost:8080/{cacheName}に移動して、Coherenceキャッシュのデータにアクセスします。

29.2.4 サーブレット・コンテナへのデプロイ

Coherence RESTをWARファイルとしてパッケージ化することで、Coherence RESTを任意のサーブレット・コンテナにデプロイできます。詳細は、「デプロイ用のCoherence RESTのパッケージ化」を参照してください。WARファイルのデプロイの詳細は、ベンダーのドキュメントを参照してください。また、追加のサーブレット・コンテナ・デプロイメントのオプションについては、Jerseyユーザー・ガイドを参照してください。

http://jersey.java.net/nonav/documentation/latest/user-guide.html#d4e194