この章では、リリース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
ファイルに追加することによって共有ライブラリ参照を作成します。