この章では、リリース3.6に対するOracle Coherenceドキュメント・ライブラリにおける変更、追加および修正の内容について説明します。このライブラリは、次のURLで入手できます。
http://download.oracle.com/docs/cd/E15357_01/index.htm
ドキュメントでの問題は、次のとおりです。
『Oracle Coherence開発者ガイド』の必要なライブラリの格納に関する項では、Coherenceリソース・アダプタ使用時におけるEARファイルのパッケージ化の手順が記載されています。手順では、EARファイルのルートにcoherence.jarファイルを配置するようにお薦めしています。これは、一般的な推奨事項です。WebLogic Serverにデプロイする際、coherence.jarファイルをEARファイルの/APP-INF/libディレクトリに格納してください。次に例を示します。
/coherence-transaction.rar /APP-INF/lib/coherence.jar
Oracle Coherence for C++をMSVC 2005 SP1(x86およびx64)で使用するには、Microsoft Visual C++ 2005 Service Pack 1 RedistributableとMicrosoft Visual C++ 2005 Service Pack 1 Redistributable Package ATLのセキュリティ更新プログラムの両方が必要です。このセキュリティ更新プログラムがないと、Coherenceは稼動しません。この更新の詳細は、次のURLを参照してください。
http://support.microsoft.com/?kbid=973544
このセキュリティ更新プログラムは、Microsoft Update Webサイトまたは次のURLから直接入手できます。
size()操作は、トランザクション・キャッシュで実行すると、非常に複雑です。タイトなループでこの操作を実行するとパーティション送信がブロックされる可能性があるため、そのような操作を避けてください。
『Oracle Coherence 開発者ガイド』のファイルへのキャッシュのシリアライズ表現の書込みに関する項では、キャッシュしたPOFオブジェクトをCohQL BACKUP CACHEコマンドでバックアップしないことについて言及されていません。オブジェクトではSerializableまたはExternalizableLiteを実装して、このコマンドでバックアップされるようにする必要があります。
『Oracle Coherence開発者ガイド』では、coherence.dtdでサポートされなくなった次の要素が参照されています。
<burst-mode>: これは<packet-publisher>のサブ要素でした。
<serializer-name>: これは<serializer>のサブ要素でした。
整数で入力される<expiry-delay>のような時間ベースの構成要素における最大値は、入力単位(ミリ秒、秒、分、時間、日など)とは関係なくInteger.MAX_VALUE(2147483647)です。
Oracle® Fusion Middleware 11gリリース1(10.3.3)用ActiveCacheの使用に関するドキュメントにおいて例6-3のmanifest.mfファイルに誤記があります。「Implementation」の綴りが間違っていました。正しい構成は、次のとおりです。
Extension-List: active-cache
active-cache-Extension-Name: active-cache
active-cache-Specification-Version: 1.0
active-cache-Implementation-Version: 1.0
『Oracle Coherenceクライアント・ガイド』の例5-8には、要素シーケンスに関するエラーがあります。それにより、この例を正常に実行できません。この例を実行するには、次のように、<stream-provider>ノードが<tcp-initiator>要素内の<remote-addresses>ノードの前にある必要があります。
<tcp-initiator><stream-provider><ssl> <protocol>Tls</protocol> <local-certificates> <certificate> <url>C:\</url> <password>password</password> <flags>DefaultKeySet</flags> </certificate> </local-certificates> </ssl></stream-provider><remote-addresses><socket-address> <address>198.168.1.5</address> <port>9099</port> </socket-address></remote-addresses><connect-timeout>10s</connect-timeout> </tcp-initiator>
『Oracle Coherence*Webユーザーズ・ガイド』においてCoherence*Webのクラスタ・ノードを構成するための手順にエラーがありました。次の項では、修正した手順について説明します。
Coherence*Webは、アプリケーション・サーバー・スコープ、EARスコープまたはWARスコープを設定できます。Coherenceクラスタと同様、Coherence*Webのスコープ設定は、クラスローダーの階層におけるcoherence.jarの位置により異なります。
WebLogic Server 10.3.3では、アプリケーションとCoherenceキャッシュとの間の対話を容易にする機能が用意されています。これらの機能の詳細は、「ActiveCacheの使用」を参照してください。アプリケーションでActiveCache機能を使用するには、active-cache.jarファイルもデプロイする必要があります。このファイルは、WL_HOME/common/deployable-librariesディレクトリにあります。
|
注意: アプリケーション・サーバー・スコープ設定クラスタ・ノードによる構成は、慎重に検討する必要があります。アプリケーション間の相互作用が未知または予測不能な環境では絶対に使用しないでください。このような環境の例として、規則や命名基準の調整や実施が不十分な状態で互いに無関係に作成したアプリケーションを、複数のアプリケーション・チームでデプロイしている状況が考えられます。このような構成では、すべてのアプリケーションが同じクラスタに属することから、キャッシュやサービスなどの構成設定の名前空間どうしで競合が発生する可能性がきわめて高く、予期しない結果を生じる恐れがあります。 このような理由から、EARスコープ設定クラスタ・ノードによる構成およびWARスコープ設定クラスタ・ノードによる構成の使用を強くお薦めします。どのデプロイメント・トポロジを選択したらよいか不明な場合や、この警告に当てはまるデプロイメントを実行する場合は、アプリケーション・サーバー・スコープ設定クラスタ・ノードによる構成は選択しないでください。 |
セッション管理のためにCoherenceクラスタにCoherence*Webを追加する場合は、次の手順に従ってください。
WebLogic Serverシステム・クラスパスを編集し、coherence.jarおよびWL_HOME/common/deployable-libraries/active-cache.jarをシステム・クラスパスに含めます。active-cache.jarは、システム・クラスパスのdeployable-librariesフォルダからのみ参照されるようにする必要があります。他の場所にはコピーしないでください。
WebLogic Server管理コンソールまたはコマンドラインを使用して、coherence-web-spi.warを共有ライブラリとしてデプロイします。
WebアプリケーションでCoherence*Webを有効にします。
Coherence*Webを使用する予定のWebLogic Serverにデプロイした各WARファイルのweblogic.xmlに、例2-1に示すライブラリ参照行を追加します。
(オプション)Coherenceクラスタ・プロパティを構成する必要がある場合、CoherenceClusterSystemResourceMBeanを作成してServerMBeanで参照します。
WLSTを使用してMBeanを参照できます。「ActiveCacheの使用方法」のcreateServerScopedCoherenceSystemResourceを参照してください。
次の手順に従い、セッション管理のためにCoherence*Webを使用します。
WebLogic Server管理コンソールまたはコマンドラインを使用して、アプリケーションがデプロイされるすべてのターゲット・サーバーにcoherence.jarファイル、active-cache.jarファイルおよびcoherence-web-spi.warファイルを共有ライブラリとしてデプロイします。
Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのJava EEライブラリのインストールに関する項を参照してください。
weblogic-application.xmlファイルのcoherence.jarファイル、active-cache.jarファイルおよびcoherence-web-spi.warファイルを参照します。このファイルをEARのMETA-INF/ディレクトリに格納します。
例2-2は、weblogic-application.xmlファイルのサンプルを示しています。
例2-2 weblogic-application.xmlで参照されるCoherence、Coherence Web SPIおよびActiveCache
<weblogic-application ... >
...
<library-ref>
<library-name>coherence</library-name>
</library-ref>
<library-ref>
<library-name>coherence-web-spi</library-name>
</library-ref>
<library-ref>
<library-name>active-cache</library-name>
</library-ref>
...
</weblogic-application>
(オプション)Coherenceクラスタ・プロパティを構成する必要がある場合、CoherenceClusterSystemResourceMBeanを作成し、weblogic.xmlファイルのcoherence-cluster-ref要素として参照します。この要素によって、CoherenceClusterSystemResourceMBean属性で指定されたようにアプリケーションはCoherenceクラスタに登録できます。詳細は、「ActiveCacheの使用方法」を参照してください。
例2-3に構成例を示します。この例のmyCoherenceCluster MBeanは、CoherenceClusterSystemResourceMBeanタイプです。
セッション管理のためにCoherence*Webを使用する場合は、次の手順に従ってください。
WebLogic Server管理コンソールまたはコマンドラインを使用して、アプリケーションがデプロイされるすべてのターゲット・サーバーにactive-cache.jarおよびcoherence-web-spi.warを共有ライブラリとしてデプロイします。Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのJava EEライブラリのインストールに関する項を参照してください。
WARファイルのWEB-INF/libディレクトリにcoherence.jarをコピーします。
coherence-web-spi.warファイルを共有ライブラリとしてデプロイする場合、例2-4に示す行をWARファイルのWEB-INFディレクトリにあるweblogic.xmlファイルに追加することによって、共有ライブラリ参照を作成することも必要です。
active-cache.jarファイルを参照するためのmanifest.mfファイルを作成します。このファイルを各WARファイルのMETA-INF/ディレクトリにコピーします。
(オプション)Coherenceクラスタ・プロパティを構成する必要がある場合は、CoherenceClusterSystemResourceMBeanを作成し、weblogic.xmlファイルまたはweblogic-ejb-jar.xmlファイルのcoherence-cluster-ref要素として参照します。weblogic.xmlファイルのWARスコープ設定クラスタ・ノードの構成例を示しています。myCoherenceCluster MBeanは、CoherenceClusterSystemResourceMBeanタイプです。詳細は、「ActiveCacheの使用方法」を参照してください。
例2-6に、weblogic.xmlファイルのWARスコープ設定クラスタ・ノードの構成例を示します。myCoherenceCluster MBeanは、CoherenceClusterSystemResourceMBeanタイプです。
WebLogic Server 10.3.2以前は、ActiveCacheをサポートしていません。
Coherenceクラスタ・ノードにはクラス・ローダーのスコープが設定されています。したがって、アプリケーションをパッケージ化する前に、Coherence*Webデプロイメントにある一意のCoherenceクラスタ・ノードの数を構成する必要があります。次の各項で、パッケージ化オプションと構成オプションについて説明します。
|
注意: アプリケーション・サーバー・スコープ設定クラスタ・ノードによる構成は、慎重に検討する必要があります。アプリケーション間の相互作用が未知または予測不能な環境では絶対に使用しないでください。このような環境の例として、規則や命名基準の調整や実施が不十分な状態で互いに無関係に作成したアプリケーションを、複数のアプリケーション・チームでデプロイしている状況が考えられます。このような構成では、すべてのアプリケーションが同じクラスタに属することから、キャッシュやサービスなどの構成設定の名前空間どうしで競合が発生する可能性がきわめて高く、予期しない結果を生じる恐れがあります。 このような理由から、EARスコープ設定クラスタ・ノードによる構成およびWARスコープ設定クラスタ・ノードによる構成の使用を強くお薦めします。どのデプロイメント・トポロジを選択したらよいか不明な場合や、この警告に当てはまるデプロイメントを実行する場合は、アプリケーション・サーバー・スコープ設定クラスタ・ノードによる構成は選択しないでください。 |
WebLogic Serverごとにcoherence-web-spi.warを共有ライブラリとしてデプロイします。
coherence.jarを含むようにWebLogic Serverのシステム・クラスパスを編集するか、JARを$DOMAIN_HOME/libディレクトリにコピーします。
WebアプリケーションでCoherence*Webを有効にします。
Coherence*Webを使用する予定のWebLogic Serverにデプロイした各WARファイルのweblogic.xmlに、例2-7に示すライブラリ参照行を追加します。
WebLogic Server管理コンソールを使用して、アプリケーションがデプロイされるターゲット・サーバーすべてにcoherence.jarおよびcoherence-web-spi.warを共有ライブラリとしてデプロイします。詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのJava EEライブラリのインストールに関する項を参照してください。
weblogic-application.xmlファイルでcoherence.jarファイルとcoherence-web-spi.warファイルを参照します。このファイルをEARのMETA-INFディレクトリに格納します。
例2-8は、weblogic-application.xmlファイルを示しています。
WebLogic Server管理コンソールまたはコマンドラインを使用して、アプリケーションがデプロイされるすべてのターゲット・サーバーにcoherence-web-spi.warを共有ライブラリとしてデプロイします。Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのJava EEライブラリのインストールに関する項を参照してください。
WARファイルのWEB-INF/libディレクトリにcoherence.jarをコピーします。
coherence-web-spi.warファイルを共有ライブラリとしてデプロイする場合は、例2-9に示す行をWARファイルのWEB-INFディレクトリにあるweblogic.xmlファイルに追加することによって共有ライブラリ参照を作成します。