ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Coherenceリリース・ノート
12c (12.1.2)
B70748-03
  ドキュメント・ライブラリへ移動
ライブラリ
目次へ移動
目次

前
 
 

3 Coherence 12c (12.1.2)へのアップグレード

この章では、Coherence、Coherence*Web、ActiveCacheおよびTopLink Gridを使用するアプリケーションを12c (12.1.2)にアップグレードする手順を説明します。

3.1 WebLogic ServerでのCoherenceおよびCoherence*Webを使用するアプリケーションのアップグレード

次の手順に従って、CoherenceおよびCoherence*Webを使用してWebLogic Serverで実行するアプリケーションをアップグレードします。

  1. 既存のWebLogic Serverドメインで次を実行します。

    • Coherence*Webを使用するアプリケーションを停止してアンデプロイします。

    • coherence.jarおよびcoherence-web-spi.warファイルをアンデプロイします(デプロイされている場合)。

  2. 手順に従って、WebLogic ServerとそのドメインをWebLogic Server 12c (12.1.2)にアップグレードします。WebLogic Serverのアップグレードについては、『Oracle Fusion Middleware Oracle WebLogic Serverのアップグレード』を参照してください。

  3. coherence.jarファイルへの参照をすべて削除するようにアプリケーションを変更します。

    • weblogic.xmlファイルで、coherence-web-spiファイルを参照する<library-ref>要素を削除します。

    • META-INF/MANIFEST.MFファイルで、Coherenceを拡張として識別する次の行を削除します。

      Extension-List: coherence
      coherence-Extension-Name: coherence
      
    • クラスパスにあるcoherence.jarファイルへの明示的な参照をすべて削除します。

  4. Coherence 12c (12.1.2)で必要な設定を使用するようにアプリケーションを変更します。

    • Coherenceリリース3.7.1.xでデフォルトのsession-cache-config.xmlファイルを使用していた場合、12c (12.1.2)では名前がdefault-session-cache-config.xmlに変更されたことに注意してください。

      たとえば、このコンテキスト・パラメータ値をCoherenceリリース3.7.1.xアプリケーションで使用していたとします。

      tangosol.coherence.cacheconfig=session-cache-config.xml
      

      12c (12.1.2)では、これをdefault-session-cache-config.xmlに変更します。

      tangosol.coherence.cacheconfig=default-session-cache-config.xml
      

      セッション・キャッシュ・ファイル名を変更する必要はありません。カスタムのsession-cache-config.xmlを作成した場合、ファイル名はそのまま使用できます。

    • アプリケーションがEARファイル内にある場合、12c (12.1.2)ではカスタムのsession-cache-configファイルのパッケージ化が変更されています。12c (12.1.2)のパッケージ化の手順については、『Oracle Fusion Middleware Oracle Coherence*WebでのHTTPセッション・マネージメントの管理』のカスタム・セッション・キャッシュ構成ファイルの使用に関する項を参照してください。

  5. アプリケーションをWebLogic Serverに再デプロイします。

3.2 WebLogic ServerでのTopLink Gridを使用するアプリケーションのアップグレード

次の項では、アプリケーション・スコープ、EARスコープおよびWARスコープが指定されたクラスタで実行するアプリケーションのアップグレード方法について説明します。アプリケーションをアップグレードする前に、Coherence側の構成を最初にアップグレードする必要があります。

3.2.1 Coherence側の構成のアップグレード

次の手順に従って、Coherence側の構成をアップグレードします。12c (12.1.2)以前のCoherence JARを参照する、現在使用中の12c (12.1.2)以前のCoherenceキャッシュ・サーバー起動スクリプトをすべてアップグレードする必要があります。Coherenceに付属しているスクリプトは変更する必要はありません。

  1. Coherenceサーバーを停止します。

  2. クラスパス(WebLogic Server 12c (12.1.2)では${ORACLE_HOME})を変更するように、Coherenceキャッシュ・サーバー起動スクリプトを変更します。

    coherence.jar${ORACLE_HOME}/coherence/lib/coherence.jarに置き換えます。

    javax.persistence_1.*.jar${ORACLE_HOME}/oracle_common/modules/javax.persistence_2.0.0.0_2-0.jarに置き換えます。

    com.oracle.toplinkgrid_1.1.0.0_11-1-1-6-0.jar${ORACLE_HOME}/oracle_common/modules/oracle.toplink_12.1.2/toplink-grid.jarに置き換えます。

    org.eclipse.persistence_1.2.0.0_2-3.jar${ORACLE_HOME}/oracle_common/modules/oracle.toplink_12.1.2/eclipselink.jarに置き換えます。

  3. Coherenceサーバーを再起動します。

3.2.2 アプリケーション・サーバー・スコープ指定されたCoherenceクラスタのアップグレード

アプリケーション・サーバー・スコープ指定されたアプリケーションをCoherenceクラスタで実行している場合は、次の手順に従ってCoherence 12c (12.1.2)にアップグレードします。

  1. 手順に従って、WebLogic ServerとそのドメインをWebLogic Server 12c (12.1.2)にアップグレードします。WebLogic Serverとそのドメインのアップグレードについては、『Oracle Fusion Middleware Oracle WebLogic Serverのアップグレード』を参照してください。

  2. 管理対象サーバーを起動する前に、次の手順に従ってWebLogic Server側の構成をアップグレードします。


    注意:

    WebLogic Server 12c (12.1.2)では、toplink-grid.jarおよびcoherence.jarファイルは(coherence-web.jarおよびeclipselink.jarファイルと同様に)WebLogic Serverシステム・クラスパスに自動的に含まれます。


    1. WebLogic Serverクラスパスから、toplink-grid.jarファイルへの明示的な参照をすべて削除します。次に、古い参照の例を示します。

      com.oracle.toplinkgrid_1.1.0.0_11-1-1-6-0.jar
      javax.persistence_1.*.jar
      org.eclipse.persistence_1.2.0.0_2-3.jar
      
    2. WebLogic Serverクラスパスから、coherence.jarファイルへの明示的な参照をすべて削除します。次に、古い参照の例を示します。

      coherence.jar
      coherence-web.jar
      coherence-web-spi.war 
       
      
  3. WebLogic Serverを再起動します。

  4. アプリケーションを再デプロイします。

3.2.3 EARスコープ指定されたCoherenceクラスタのアップグレード

EARスコープ指定されたTopLinkアプリケーションをCoherenceクラスタで実行している場合は、次のいずれかの方法で、Coherence 12c (12.1.2)を使用するようにアプリケーションをアップグレードできます。


注意:

次の手順は、WebLogic ServerとそのドメインをWebLogic Server 12c (12.1.2)にアップグレード済であることを前提とします。WebLogic Serverのアップグレードについては、『Oracle Fusion Middleware Oracle WebLogic Serverのアップグレード』を参照してください。


GARファイル形式の使用

次の手順は、GARファイル形式を使用するようにアプリケーションをアップグレードすることを前提とします。このアプローチをお薦めします。GARファイル形式でのアプリケーションのパッケージ化の詳細は、『Oracle WebLogic Server Oracle Coherenceアプリケーションの開発』のWebLogic Server用のCoherenceアプリケーションの作成に関する項を参照してください。

  1. アプリケーションおよびWebLogic Serverクラスパスから、CoherenceおよびTopLink Grid共有ライブラリへの参照をすべて削除します。


    注意:

    WebLogic Server 12c (12.1.2)では、toplink-grid.jarおよびcoherence.jarファイルは(coherence-web.jarおよびeclipselink.jarファイルと同様に)WebLogic Serverシステム・クラスパスに自動的に含まれるため、これらの参照を削除できます。


    次に、Coherenceへの参照の例を示します。

    coherence.jar
    coherence-web.jar
    coherence-web-spi.war
    

    次に、TopLink Gridへの参照の例を示します。

    com.oracle.toplinkgrid_1.1.0.0_11-1-1-6-0.jar
    javax.persistence_1.*.jar
    org.eclipse.persistence_1.2.0.0_2-3.jar  
     
    
  2. weblogic-application.xmlファイルから、coherence.jarおよびtoplink-grid.jarへの参照を削除します。

  3. weblogic-application.xmlファイルから、Coherenceクラスタのプロパティを構成する<coherence-cluster-ref>要素を削除します。

  4. フィルタリング・クラスローダーが構成済の場合は削除します。この機能は、weblogic-application.xmlファイルの<prefer-application-packages>要素で定義されます。coherence.jarおよびtoplink-grid.jarファイルを参照する<prefer-application-packages>要素をすべて削除します。

  5. toplink-grid.jarおよびcoherence.jarファイルをEARファイル内にパッケージ化している場合は、それらをEARファイルから削除します。

  6. WebLogic ServerおよびCoherenceサーバーを再起動します。

  7. アプリケーションを再デプロイします。

共有ライブラリの更新

このアプローチは、toplink-grid.jarおよびcoherence.jarファイルを共有ライブラリとして参照しており、アプリケーションのパッケージ化を変更しないことを前提にします。この場合は、12c (12.1.2)バージョンのtoplink-grid.jarおよびcoherence.jarファイルを共有ライブラリとして再デプロイする必要があります。

EARファイルへのtoplink-grid.jarおよびcoherence.jarファイルのパッケージ化

このアプローチは、toplink-grid.jarおよびcoherence.jarファイルをEARファイルにパッケージ化していることを前提とします。この場合は、toplink-grid.jarおよびcoherence.jarファイルを、これらのファイルの12c (12.1.2)バージョンに置き換えます。

3.2.4 WARスコープ指定されたCoherenceクラスタのアップグレード

WARスコープ指定されたTopLinkアプリケーションをCoherenceクラスタで実行している場合は、次のいずれかの方法で、Coherence 12c (12.1.2)を使用するようにアプリケーションをアップグレードできます。

  • 共有ライブラリを更新します。「共有ライブラリの更新」を参照してください。

  • WARファイルにパッケージ化されているtoplink-grid.jarおよびcoherence.jarファイルを更新します。


注意:

次の手順は、WebLogic ServerとそのドメインをWebLogic Server 12c (12.1.2)にアップグレード済であることを前提とします。WebLogic Serverのアップグレードについては、『Oracle Fusion Middleware Oracle WebLogic Serverのアップグレード』を参照してください。


共有ライブラリの更新

このアプローチは、toplink-grid.jarおよびcoherence.jarファイルを共有ライブラリとして参照しており、アプリケーションのパッケージ化を変更しないことを前提にします。この場合に必要な操作は、12c (12.1.2)バージョンのtoplink-grid.jarおよびcoherence.jarファイルを使用するように共有ライブラリ参照を更新することのみです。

WARファイルへのtoplink-grid.jarおよびcoherence.jarファイルのパッケージ化

このアプローチは、toplink-grid.jarおよびcoherence.jarファイルをEARファイルにパッケージ化していることを前提とします。この場合は、toplink-grid.jarおよびcoherence.jarファイルを、これらのファイルの12c (12.1.2)バージョンに置き換えます。

3.3 Coherence*Extendのアップグレード

すべてのExtendクライアントのカスタマ(Java、C++および.NET)において、Coherence*Extendクライアントをアップグレードする前にクラスタ側をアップグレードする必要があります。これは、Coherenceクライアントおよびプロキシ・アップグレード・ポリシーに準拠しています。Coherence*Extendの現行リリースと以前のバージョンとの互換性の詳細は、『Oracle Fusion Middleware Oracle Coherenceリモート・クライアントの開発』のCoherence*Extendのバージョン間の互換性に関する項を参照してください。

3.4 Coherence*Webのアップグレード

次の項では、Coherence*Webのアップグレードに関する考慮事項を説明します。

3.4.1 以前のバージョンのWebLogic用に予約されているCoherence*Web SPI

以前のリリースのCoherence*Webに含まれていたcoherence-web-spi.warファイルは、12c (12.1.2)では非推奨です。Coherence 12c (12.1.2)ディストリビューションではcoherence\libディレクトリにcoherence-web-spi.warファイルが含まれていますが、このファイルは以前のバージョンのWebLogic Serverとの後方互換性を維持する目的でのみ提供されています。WebLogic Server 12c (12.1.2)以降を使用している場合は、このファイルを使用または参照する必要はありません。coherence-web-spi.warファイルをWebLogic Server 12c (12.1.2)以降にデプロイしようとしても無視されます。

3.4.2 ActiveCacheの管理対象Coherenceサーバーへの置換え

デプロイされたアプリケーションでCoherenceデータ・キャッシュを簡単に使用し、セッション管理のためにCoherence*Webをシームレスに統合するためのWebLogic Serverの機能の集合であるActiveCacheは、主に以前のリリースで開発されたアプリケーションのアップグレードをサポートする目的で、12c (12.1.2)で引き続きサポートされます。ユーザーは、新しいWebLogic Server/Coherenceアプリケーションを開発するときに管理対象Coherenceサーバーの使用を検討することをお薦めします。ActiveCacheの詳細は、『Oracle Fusion Middleware ActiveCacheの使用』を参照してください。

3.4.3 新しいセッション・キャッシュ構成ファイル

以前のリリースでは、Coherence*Web SPIで使用されるCoherenceキャッシュ構成とサービスはsession-cache-config.xmlファイルで定義されていましたが、12c (12.1.2)以降は、Coherence*Webで使用されるCoherenceキャッシュ構成とサービスはdefault-session-cache-config.xmlファイルで定義され、このファイルはcoherence-web.jarファイル内にあります。default-session-cache-config.xmlファイルで定義されているデフォルト・キャッシュ構成とサービス構成は、ほとんどすべてのWebアプリケーションに対応可能です。

Webアプリケーションでsession-cache-config.xmlという名前のファイルをパッケージ化して、独自のカスタム・セッション・キャッシュ構成を作成できます。詳細は、『Oracle Fusion Middleware Oracle Coherence*WebでのHTTPセッション・マネージメントの管理』のカスタム・セッション・キャッシュ構成ファイルの使用に関する項を参照してください。

3.5 WebLogic ServerでのActiveCacheアプリケーションのアップグレード

The 11gリリース1 (10.3.6)バージョンのActiveCacheは、『Oracle Fusion Middleware ActiveCacheの使用』に記載されています。このバージョンのActiveCacheは、WebLogic ServerおよびCoherence 12c (12.1.2)に対して機能しますが、記載されている手順の一部は不要になりました。

3.6 非推奨となった機能の代替

この項では、Coherence 12c (12.1.2)で非推奨となった機能の代替について説明します。

3.6.1 非推奨のpacket-poolおよびmessage-pool要素の代替

packet-poolおよびmessage-pool要素は非推奨です。Coherence 12c (12.1.2)では、APIでサイズ変更を処理するようになりました。アップグレードするには、すべての構成ファイルから要素を削除してください。

3.6.2 非推奨のLHファイル・マネージャの代替

Coherence 12c (12.1.2)リリース以降、LHストア・マネージャは非推奨です。Berkeley DBの同様の機能を使用してください。

3.6.3 非推奨のNamedCache Lock APIの代替

NamedCache lock APIは非推奨です。入力プロセッサAPI (JavaおよびC++用のEntryProcessor、および.NET用のIEntryProcessor)で提供されるロック・サポートをかわりに使用してください。

3.6.4 非推奨のXmlConfigurableインタフェースの代替

Coherence 12c (12.1.2)リリースでは、com.tangosol.run.xml.XmlConfigurableインタフェースは非推奨になりました。Coherenceでは、このインタフェースを使用して、XMLパラメータをカスタム・クラスのインスタンスに注入していました。


注意:

XmlConfigurableインタフェースが非推奨になるために影響を受けるインタフェース、クラスおよびメソッドについては、「XmlConfigurableインタフェース」を参照してください。


Coherence 12c (12.1.2)リリースでは、<param-value>要素内に<instance>および<class-scheme>(または、その他のカスタム・ネームスペース)をネストするXMLを記述して、パラメータを初期化できます。

たとえば、次のJavaコードを考えてみます。

public class MyClass
  {
  public MyClass(String s, OtherClass o, int i) { ... }
  }
 
public class OtherClass
  {
  public OtherClass(String s) { ... }
  }
 

次のXMLを記述して、MyClassおよびOtherClassクラスを初期化できます。XMLでは、MyClassクラスが文字列Hello Worldおよび整数42で初期化されます。MyClassクラス内にあるOtherClassクラスのインスタンスは、文字列Goodbye Worldで初期化されます。

<instance>
  <class-name>MyClass</class-name>
    <init-params>
      <init-param>
        <param-value>Hello World</param-value>
      </init-param>
      <init-param>
        <param-value>
          <instance>
            <class-name>OtherClass</class-name>
              <init-params>
                <init-param>
                  <param-value>Goodbye World</param-value>
                </init-param>
              </init-params>
          </instance>
        </param-value>
      </init-param>
      <init-param>
        <param-value>42</param-value>
      </init-param>
    </init-params>
  </instance>

3.7 アップグレードのその他の問題

次の項では、Coherence 12c (12.1.2)のアップグレード時に考慮する必要がある問題について説明します。

3.7.1 Exalogic環境のDistributedCacheの新しいデフォルト

Exalogic環境内では、DistributedCacheがExabusの最適化されたトランスポートにデフォルト設定されるようになりました。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のDistributedCacheサービス・パラメータに関する項にある<reliable-transport要素の説明を参照してください。

3.7.2 リモートRMIクライアントからの接続

リモートRMIクライアント(別の物理コンピュータ)から接続するときは、java.rmi.server.hostname RMIシステム・プロパティの値をクラスタ・メンバーのIPアドレスに設定してスクリプトに追加してください。このアドレスによって、クライアントに送信されるRMIスタブに正しいサーバー・アドレスが含まれることが保証されます。詳細は、『Oracle Fusion Middleware Oracle Coherenceのマネージメント』のOracle Coherence MBeanへのリモート・アクセスの許可に関する項を参照してください。

3.7.3 Coherence*Extendクライアント上のキー・アソシエーション

キー・アソシエーションは、Extendクライアント上でデフォルトで処理されるようになります。クラスタ上のキー・クラスを強制的に処理するために、クラスタ上でキー・アソシエーションに依存している既存のクライアント実装(Javaクライアントを含む)でdefer-key-association-checkパラメータを設定する必要があります。

キー・アソシエーション処理をExtendクライアントによってではなくクラスタ側で実行するには、クライアント側キャッシュの構成で<remote-cache-scheme>要素内の<defer-key-association-check>要素をtrueに設定します。次に例を示します。

<remote-cache-scheme>
   ...
   <defer-key-association-check>true</defer-key-association-check>
</remote-cache-scheme>

詳細は、『Oracle Fusion Middleware Oracle Coherenceリモート・クライアントの開発』のキー・アソシエーション・チェックの遅延に関する項を参照してください。

3.7.4 ニア・キャッシュの無効化戦略の変更

パフォーマンスよりもネットワーク・トラフィックの軽減を優先するために、デフォルトのニア・キャッシュ無効化戦略のautoが変更されました。12c (12.1.2)以前の無効化戦略のデフォルト動作は、allに設定してください。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のニア・キャッシュの無効化戦略に関する項を参照してください。

3.7.5 BACKUP CACHE文を使用したキャッシュのシリアライズされた形式の書込み

BACKUP CACHE文を使用して、指定されたキャッシュのシリアライズ形式を、指定されたファイル名で表されるファイルに書き込みます。3.xから12.1.xの間に、バックアップの前方互換性または後方互換性はありません。『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のキャッシュのシリアライズされた形式のファイルへの書込みに関する項を参照してください。

3.7.6 新しいキャッシュ構成要素: resource-config

resource-config要素には、com.sun.jersey.api.core.ResourceConfigクラスを拡張するクラスの構成情報を記述します。HTTPアクセプタでインスタンスを使用して、指定のコンテキスト・パスにマップされているCoherence RESTアプリケーション用のリソースとプロバイダ・クラスをロードします。複数のリソース構成クラスを構成して、異なるコンテキスト・パスにマップできます。詳細は、『Oracle Fusion Middleware Oracle Coherenceリモート・クライアントの開発』の組込みHTTPサーバーを指定したデプロイに関する項を参照してください。

3.7.7 JVMのアップグレード

Coherence 12c (12.1.2)は、Oracle HotSpot JVM 1.7および1.7レベルのその他のJVMでサポートされています。JRockit 1.7は含まれないため、JRockitは必要ありません。ExtendクライアントはJVM 1.6以降(JRockitを含む)でサポートされています。詳細は、『Oracle Fusion Middleware Oracle Coherenceの管理』のJVMの推奨事項に関する項を参照してください。