この章では、Oracle Coherenceを使用して作成したマルチサーバー・ドメインの作成、構成、および使用方法について説明します。次の項が含まれます。
この項では、Oracle Coherenceを使用して2つ以上のOracle CEPサーバーからなるマルチサーバー・ドメインを作成して構成する方法を説明します。次のものが含まれます。
6.1.1項「Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」
6.1.2項「Oracle Coherenceを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法」
注意: マルチサーバー・ドメインでサーバーを適切に構成するには、そのサーバーは、同じマルチキャスト・アドレスとポート、および同じドメイン名を使用して構成する必要があります。同じマルチキャスト・アドレスおよびポートを使用し、異なるドメイン名を使用してサーバーを構成するとエラーになります。 |
この手順では、事前定義済の2つのグループ(シングルトン・グループとドメイン・グループ)のみを使用してマルチサーバー・ドメインを作成する方法について説明します。デフォルト・グループを使用するドメインでは、すべてのサーバーが完全に同一である必要があります。
ドメインが完全に同一ではないサーバーをサポートする必要がある場合、カスタム・グループを使用して構成します。6.1.2項「Oracle Coherenceを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。
注意: Oracle CEP高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle CEP高可用性通知グループを作成する必要もあります。詳細は、『Oracle Complex Event Processing開発者ガイドfor Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。 |
注意: この項では、1つのサーバーを含むドメインがすでに作成済であり、ドメインをマルチサーバー・ドメインにするには追加のサーバーをドメインに追加することを前提としています。ドメインの作成の詳細は、第3章「Oracle CEPスタンドアロン・サーバー・ドメインの管理」を参照してください。 |
Coherenceを使用してデフォルト・グループによるOracle CEPマルチサーバー・ドメインを作成するには:
1つの初期サーバーを含むドメインを作成します。
第3章「Oracle CEPスタンドアロン・サーバー・ドメインの管理」を参照してください。
構成ウィザードを使用して、ドメインに1つまたは複数のサーバーを追加します。
注意: 構成ウィザードではマルチサーバー・ドメインへの新しいサーバーの追加がサポートされない場合も、構成ウィザードを使用して新しいスタンドアロン・サーバーを生成し、生成したサーバーの構成を手動で更新することにより、サーバーをマルチサーバー・ドメインに追加できます。 |
6.2項「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの更新」を参照してください。
手動でconfig.xml
ファイルを編集し、特定の情報とともにcluster
要素を追加して、マルチサーバー・ドメイン内のすべてのサーバーを構成します。
デフォルト・グループを使用してマルチサーバー・ドメインのサーバーを構成するには、例6-1に示すように、ルートconfig
要素のcluster
子要素を追加して、各メンバー・サーバーのconfig.xml
ファイルを更新します。
clusterの次の子要素を含みます。
server-name
: cluster
のserver-name
子要素は、サーバーの一意の名前を指定します。コンソールにサーバーを表示する場合、Oracle CEP Visualizerはこの要素の値を使用します。
デフォルト: 設定している場合はOracle Coherenceメンバー名、またはWLEvServer-
MEMBERID
。
server-host-name
: ポイント・ツー・ポイントHTTPマルチサーバー通信に使用するホスト・アドレス/IPを指定します。デフォルト値はlocalhost
です。
マルチサーバー・ドメインのすべてのOracle CEPサーバーが同じホストにある場合、この要素はオプションです。
マルチサーバー・ドメインの1つ以上のOracle CEPサーバーが同じホストになくて、Oracle CEP Visualizerを使用してマルチサーバー・ドメインを管理する場合、この要素は必須です。
multicast-address
: マルチサーバー・ドメインのすべてのサーバーが同じコンピュータ上でホストされている場合を除いて、multicast-address
要素は必要です。その場合は、multicast-address
要素を省略でき、コンピュータのIPアドレスに基づいてOracle CEPによりマルチサーバー・ドメインにマルチキャスト・アドレスが自動的に割り当てられます。
ただし、サーバーが同じコンピュータ上にホストされていない場合、適切なドメイン・ローカル・アドレスを指定する必要があります。239.255.X.X
形式のアドレスを使用することをお薦めします。この形式は自動的に割り当てられたマルチキャスト・アドレスに基づいています。
このmulticast-address
を使用しているすべてのOracle CEPサーバーは、同一のサブネット上にある必要があります。
Oracle Coherenceを使用して、ここでユニキャスト・アドレスを指定できます。Oracle CoherenceはWKA (Well Known Addressing)を使用します。
enabled
: デフォルトでは、Oracle Coherenceでマルチサーバー・ドメインにあるサーバーのクラスタリングは有効化されているため、<enabled>true</enabled>
要素はオプションです。
例6-1では、サーバーがmyDomain
というドメインの一部です。
例6-1 myServer1 config.xmlファイル
<config> <domain> <name>myDomain</name> </domain> <cluster> <server-name>myServer1</server-name> <multicast-address>239.255.0.1</multicast-address> <enabled>true</enabled> </cluster> ... </config>
マルチサーバー・ドメインの各サーバーでは、multicast-address
要素に同じ値が含まれている必要があります。ただし、server-name
要素は、マルチサーバー・ドメインの各サーバーで異なる必要があります。例6-2には、myDomain
マルチサーバー・ドメインのmyServer2
という2番目のサーバーのconfig.xml
ファイルを示します。
例6-2 myServer2 config.xmlファイル
<config> <domain> <name>myDomain</name> </domain> <cluster> <server-name>myServer2</server-name> <multicast-address>239.255.0.1</multicast-address> <enabled>true</enabled> </cluster> ... </config>
追加のマルチサーバーの関連する構成要素と子要素の必要な順序の説明は、5.5項「cluster要素の子要素の順序」を参照してください。
オプションで、必要に応じてデフォルトのOracle Coherenceクラスタリング構成をオーバーライドできます。
6.1.3項「Oracle Coherenceクラスタの構成」を参照してください。
オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。
6.3.1項「Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」を参照してください。
単一点障害を防ぐために、ドメインにあるn
マシンの小さいサブセットでOracle CEP Visualizerを有効にすることを考慮します。
『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle CEP Visualizerを起動する方法に関する項を参照してください。
注意: 特定のOracle CEPサーバーでOracle CEP Visualizerを有効にすると、Oracle CEP Visualizerのワークロードによってサーバーのパフォーマンスが低下される可能性があります。 |
マルチサーバー・ドメインのすべてのサーバーを起動します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。
この手順では、完全に同一ではないサーバーを格納するためにカスタム・グループを使用するOracle Coherenceを使用したマルチサーバー・ドメインの作成方法について説明します。
ドメインにあるすべてのサーバーが完全に同一である場合、カスタム・グループを作成する必要はありません。かわりに、事前定義済のデフォルト・グループ(シングルトン・グループとドメイン・グループ)を使用できます。6.1.1項「Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。
注意: Oracle CEP高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle CEP高可用性通知グループを作成する必要もあります。詳細は、『Oracle Complex Event Processing開発者ガイドfor Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。 |
注意: この項では、1つのサーバーを含むドメインがすでに作成済であり、ドメインをマルチサーバー・ドメインにするには追加のサーバーをドメインに追加することを前提としています。ドメインの作成の詳細は、第3章「Oracle CEPスタンドアロン・サーバー・ドメインの管理」を参照してください。 |
この手順では、myServer1
、myServer2
、およびmyServer3
と3つのサーバーを作成していることを想定します。myServer1
は、selector
グループのメンバーであり、myServer2
とmyServer3
は、strategy
グループのメンバーであるとしています。
Oracle Coherenceを使用してカスタム・グループによるOracle CEPマルチサーバー・ドメインを作成するには:
1つの初期サーバーを含むドメインを作成します。
第3章「Oracle CEPスタンドアロン・サーバー・ドメインの管理」を参照してください。
構成ウィザードを使用して、ドメインに1つまたは複数のサーバーを追加します。
注意: 構成ウィザードではマルチサーバー・ドメインへの新しいサーバーの追加がサポートされない場合も、構成ウィザードを使用して新しいスタンドアロン・サーバーを生成し、生成したサーバーの構成を手動で更新することにより、サーバーをマルチサーバー・ドメインに追加できます。 |
6.2項「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの更新」を参照してください。
手動でconfig.xml
ファイルを編集し、特定の情報とともにcluster
要素を追加して、マルチサーバー・ドメイン内のすべてのサーバーを構成します。
カスタム・グループを使用してマルチサーバー・ドメイン内のサーバーを構成するには、ファイルがすでに存在していない場合はcluster
のgroups
子要素を追加して各メンバー・サーバーのconfig.xml
ファイルを更新し、groups
要素の値としてグループの名前を指定します。
サーバーが複数のグループのメンバーである場合、groups
要素には複数のグループ名が含まれます。カンマを使用して複数のグループ名を区切ります。
groups
要素はオプションです。サーバー構成にこの要素がない場合、サーバーはデフォルト・グループ(ドメインおよびシングルトン)のメンバーになります。ドメインとシングルトン・グループの詳細は、5.2項「グループ」を参照してください。
例6-3、例6-4、および例6-5には、各サーバーのconfig.xml
ファイルに関連するスニペットを示します。
例6-3 myServer1のサーバー構成ファイルconfig.xml
<config> <domain> <name>myDomain</name> </domain> <cluster> <server-name>myServer1</server-name> <multicast-address>239.255.0.1</multicast-address> <enabled>true</enabled> <groups>selector</groups> </cluster> ... </config>
オプションで、必要に応じてデフォルトのOracle Coherenceクラスタリング構成をオーバーライドできます。
6.1.3項「Oracle Coherenceクラスタの構成」を参照してください。
オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。
6.3.1項「Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」を参照してください。
単一点障害を防ぐために、ドメインにあるn
マシンの小さいサブセットでOracle CEP Visualizerを有効にすることを考慮します。
『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle CEP Visualizerを起動する方法に関する項を参照してください。
注意: 特定のOracle CEPサーバーでOracle CEP Visualizerを有効にすると、Oracle CEP Visualizerのワークロードによってサーバーのパフォーマンスが低下される可能性があります。 |
マルチサーバー・ドメインのすべてのサーバーを起動します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。
Oracle CEPは、Oracle Coherenceにより提供されるネイティブ構成を利用します。これは、Oracle Coherenceキャッシュを使用するアプリケーション・バンドルで、次のOracle Coherence構成ファイルを示された名前でパッケージすることにより行います。
tangosol-coherence-override.xml
- Oracle Coherenceクラスタ構成。このファイルの詳細および例は、6.1.3.1項「tangosol-coherence-override.xmlファイル」を参照してください。
アプリケーションをアセンブルするときには、次を考慮します。
tangosol-coherence-override.xml
は、グローバルなサーバーごとのファイル(Oracle Coherenceドキュメントでは「操作構成」と呼ばれる)です。このファイルをOracle CEPサーバーconfig
ディレクトリに配置します。
キャッシュ・システムでOracle Coherenceプロバイダの使用を宣言する場合は、このキャッシュ・システムのすべてのキャッシュについても、Oracle CEPのローカル構成のかわりにOracle Coherence構成にマップされることを必ず確認してください。それ以外の場合は、Oracle CEPで例外がスローされます。
tangosol-coherence-override.xml
ファイルはOracle Coherenceクラスタリングを構成します。
次の例は単純な構成を示します。太字部分に関する説明は例の後にあります。
<?xml version='1.0'?>
<coherence xml-override="/tangosol-coherence-override.xml">
<cluster-config>
<member-identity>
<cluster-name>com.bea.wlevs.example.provider</cluster-name>
</member-identity>
...
</coherence>
この構成ファイルは完全に標準のファイルです。Oracle CEPの起動時にOracle Coherenceが既存のOracle Coherenceクラスタに結合しようとするのを防ぐために、cluster-name
要素を指定する必要がある点に注意してください。結合すると、問題の原因になり、Oracle CEPが起動できなくなる場合があります。
tangosol-coherence-override.xml
ファイルの詳細は、『Oracle Coherence開発者ガイド』の操作オーバーライド・ファイル(tangosol-coherence-override.xml)に関する項を参照してください。
ドメインを後でマルチサーバー・ドメインに変換できるように、構成ウィザードを使用して新しいサーバーを既存のスタンドアロン・サーバー・ドメインに追加します。手順は新しいドメインを作成する場合と同じです。この項を続行する前に3.1項「Oracle CEPスタンドアロン・サーバー・ドメインの作成」を必ず参照してください。
次の手順では、WindowsまたはUnixの両方の関連するコマンド・スクリプトを実行し、グラフィカル・モードで構成ウィザードの起動と使用方法について説明します。
注意: Windowsでは、「スタート」メニューを使用して構成ウィザードを起動できます。Start > All Programs > Oracle Complex Event Processing 11gR1 > Tools > Configuration Wizard |
わかりやすくするために、以下を前提とします。
新しいドメインをすでに作成済であり、ドメイン・ディレクトリはC:\oracle_cep\user_projects\domains\mydomain
です。
ドメインにはdefaultserver
という単一のサーバーが含まれ、サーバー・ファイルはC:\oracle_cep\user_projects\domains\myDomain\myServer1
ディレクトリにあります。
既存のmydomain
ドメインにmyServer2
という新しいサーバーを作成します。
グラフィカル・モードで構成ウィザードを使用してOracle CEPマルチサーバー・ドメインを更新するには:
コマンド・ウィンドウを開き、『Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項で説明されているように、環境を設定します。
ORACLE_CEP_HOME
/ocep_11.1/common/bin
ディレクトリに変更します。ここで、ORACLE_CEP_HOME
は、/oracle_cep
のようなメインOracle CEPインストール・ディレクトリを示します。
prompt> cd /oracle_cep/ocep_11.1/common/bin
ウィザードを起動するには、config.cmd
(Windows)またはconfig.sh
(UNIX)コマンドを起動します。
prompt> ./config.sh
構成ウィザードのロードが終了すると、標準のOracleへようこそウィンドウが表示されます。
注意: Oracle CEP構成ウィザードはわかりやすいプログラムですが、ツールの使用方法について詳細情報が必要な場合は、以下の手順説明に従ってください。 |
「次へ」をクリックします。
「ドメインの作成または更新の選択」ウィンドウで、「新規Oracle CEPドメインの作成」を選択します。
「次へ」をクリックします。
ドメインに追加する新しいサーバーの管理者ユーザー名とパスワードを入力します。
「次へ」をクリックします。
ドメインの新しいサーバーについて基本的な構成情報を入力します。新しいサーバーがドメイン内の他のサーバーと同じコンピュータ上に配置される場合、すべてのサーバーを起動したときに競合が発生しないように、次の情報が他のサーバーと重複しないようにする必要があります。特に、次の情報が重複しないようにします。
新しいサーバーの名前を入力します。この名前は、新しいサーバーのファイルを格納するディレクトリ名としても使用されます。次の例では、この値はmyServer1
です。
Oracle CEP自体のリスニング・ポート。
「次へ」をクリックします。
Oracle CEP IDキーストアのパスワードを入力して確認します。デフォルトでは、証明書の秘密鍵のパスワードはIDキーストアと同じです。別のパスワードを使用する場合は、キーストアのパスワードの使用の選択を解除し、秘密鍵のパスワードを入力します。
「次へ」をクリックします。
「構成オプション」ウィンドウで、次のように設定をします。
デフォルトのJDBCデータソース構成を変更する場合は、「はい」を選択します。
デフォルトの構成を使用する場合は、「いいえ」を選択します。
注意: アプリケーションをドメイン内のグループにデプロイすると、Oracle CEPはグループのメンバーである各サーバーにアプリケーションをレプリケートします。つまり、アプリケーションでデータソースを使用し、ドメイン内のサーバーごとにデータソースの構成が異なる場合は、このデータソースでのデータの格納および取得は、アプリケーションを実行しているサーバーによって異なります。 |
「次へ」をクリックします。
デフォルトのJDBCデータソース構成を変更することを選択した場合は、「Configure Database Properties」ウィンドウに情報を入力します。
上のセクションで、データソース名を入力します。次に、データベース・タイプ(OracleまたはMicrosoft SQL Server)と該当のドライバを選択します。「Browse/Append」ボタンを使用して、新しいドライバを参照することもできます。
下のセクションで、データベース名、データベース・サーバーをホストするコンピュータ名、ポート、およびデータベースに接続するユーザーの名前とパスワードなど、このデータソースから接続するデータベースの詳細を入力します。この情報に基づいて、使用するJDBC接続URLが自動的に生成されます。
「次へ」をクリックします。
「サーバーの構成」ウィンドウで、既存のドメイン名とドメインの場所のフルパス名を入力します。次の例では、ドメイン名としてmyDomain
を入力し、ドメインの場所としてC:\oracle_cep\user_projects\domains
を入力します。
「作成」をクリックします。
新しいサーバーが正常に作成されると、「Creating Domain」ウィンドウに以下のようなメッセージが表示されます。
Domain created successfully! Domain location: /oracle_cep/user_projects/domains/myDomain
「完了」をクリックします。
マルチサーバーに関係するメッセージを変換することで、マルチサーバー・ドメインのサーバーはその状態を更新します。それらのメッセージは少なくとも整合性のチェックをすることが重要です。整合性を実現するために秘密鍵を使用できます。この鍵はドメインのすべてのサーバーで共有される必要があります。
この項では次の内容について説明します。
Oracle Coherenceクラスタリングの実装を使用してマルチサーバー・ドメインのサーバー間で送信されるメッセージを保護できます。
Oracle Coherenceを使用してマルチサーバー・ドメインのサーバー間で送信されるメッセージを保護するには:
サーバーが現在実行中の場合、マルチサーバー・ドメインのすべてのサーバーを停止します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。
例6-6に示すようにsecurity
子要素をcluster
要素に追加し、マルチサーバー・ドメインの各サーバーのconfig.xml
ファイルを編集します。
例6-6 cluster要素のsecurity子要素
<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>coherence</enabled>
<security>encrypt</security>
</cluster>
...
</config>
config.xml
ファイルは、各サーバーのDOMAIN_DIR
/
servername
/config
ディレクトリにあります。ここで、DOMAIN_DIR
は、ドメイン・ディレクトリを参照し、servername
は、d:\oracle_cep_home\user_projects\domains\mydomain\myserver1\config
のようなサーバーの名前を参照します。
security
子要素に対して次のいずれかの値を指定する必要があります。
none
: デフォルト値。マルチサーバー・ドメインに対してセキュリティが構成されていないことを指定します。
encrypt
: マルチサーバー・メッセージを暗号化する必要があることを指定します。
cluster要素の子要素の正しい順序に従います。5.5項「cluster要素の子要素の順序」を参照してください。
例6-7に示すようにconfig
ルート要素のencryption-service
子要素を追加し、マルチサーバー・ドメインの各サーバーのDOMAIN_DIR
/servername/config/security-config.xml
ファイルを編集します。
マルチサーバー・ドメインの各サーバーのDOMAIN_DIR
/
servername
/.msainternal.dat
ファイルは、1つのサーバーから他のサーバーにコピーすることによって、まったく同じであることを確認します。
このファイルは、サーバーの最初の作成時に、構成ウィザードにより自動的に作成されます。Oracle CEPはこのファイルを使用してメッセージを暗号化します。
たとえば、ドメインのすべてのサーバーがd:\oracle_cep\user_projects\domains\mydomain
ディレクトリにあり、そのドメインにserver1
、server2
、およびserver3
の3つのサーバーがあることを想定します。すべてのサーバーに同じ.msainternal.dat
ファイルがあることを確認するに、1つのファイルをserver1
から他のサーバーにコピーします。
prompt> cd d:\oracle_cep\user_projects\domains\mydomain\server1 prompt> cp .msainternal.dat ..\server2 prompt> cp .msainternal.dat ..\server3
ドメイン内の1つのサーバーを起動します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。
ステップ3でencryption-service
要素をsecurity-config.xml
ファイルに追加しているため、Oracle CEPは自動的にメイン・サーバー・ディレクトリに.msasig.dat
ファイルが作成されます。Oracle CEPはメッセージのデジタル署名のためにこのファイルを使用します。
起動したサーバーを停止します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。
ステップ5で作成した.msasig.dat
ファイルを他のサーバーにコピーします。
例:
prompt> cd d:\oracle_cep\user_projects\domains\mydomain\server1 prompt> cp .msasig.dat ..\server2 prompt> cp .msasig.dat ..\server3
クラスタの各サーバーで次のステップを実行します:
コマンド・ウィンドウを開き、『Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項で説明されているように、環境を設定します。
DOMAIN_DIR
/
servername
ディレクトリに変更します。ここで、DOMAIN_DIR
は、ドメイン・ディレクトリ、servername
は、d:\oracle_cep_home\user_projects\domains\mydomain\myserver1
のようなサーバー名です。
prompt> cd d:\oracle_cep_home\user_projects\domains\mydomain\myserver1
JDK keytool
ユーティリティおよび次のコマンド・ラインを使用して、ブート・ユーザーを含むキーストアcoherence-identity.jks
を作成します(読みやすくするために分割してありますが、実際には完全なコマンドは1行にする必要があります)。
prompt> keytool -genkey -v -keystore config/coherence-identity.jks -storepassPASSWORD
-aliasBOOT-USER
-keypassBOOT-USER-PASSWORD
-dname CN=BOOT-USER
説明:
PASSWORD
は、キーストアを保護するために使用するパスワードです。
BOOT-USER
は、Oracle CEPサーバー・ホストにログインするために使用するユーザー名です。
BOOT-USER-PASSWORD
は、Oracle CEPサーバー・ホストにログインするときに使用するパスワードです。
permissions.xml
ファイルを作成します。
ブート・ユーザーに対して次の権限を追加するために、permissions.xml
ファイルを編集します。
<permissions>
<grant>
<principal>
<class>javax.security.auth.x500.X500Principal</class>
<name>CN=BOOT-USER
</name>
</principal>
<permission>
<target>*</target>
<action>all</action>
</permission>
</grant>
</permissions>
ここで、BOOT-USER
は、Oracle CEPサーバー・ホストにログインするために使用するユーザー名です。
permissions.xml
ファイルを保存して閉じます。
login.config
ファイルを作成します。
次の行を追加するために、login.config
ファイルを編集します。
Coherence { com.tangosol.security.KeystoreLogin required keyStorePath=".${/}config${/}coherence-identity.jks"; };
login.config
ファイルを保存して閉じます。
サーバーを実際に起動するjava
コマンドに次のプロパティを追加し、startwlevs.cmd
(Windows)またはstartwlevs.sh
(UNIX)の使用しているプラットフォーム向けのサーバーの起動スクリプトを更新します。
-Djava.security.auth.login.config=./login.config
次のような例があります(実際には、完全なコマンドは1行にする必要があります)。
"%JAVA_HOME%\bin\java" %DGC% %DEBUG%
-Djava.security.auth.login.config=./login.config
-Dwlevs.home="%USER_INSTALL_DIR%" -Dbea.hoe="%BEA_HOME%"
-jar "%USER_INSTALL_DIR%\bin\wlevs.jar" %1 %2 %3 %4 %5 %6
このドメインのサーバーでOracle CEP Visualizerを使用する場合は、10.5.3項「Oracle CEP Visualizerのマルチサーバー・ドメインでのSSLの構成方法」を参照してください。
マルチサーバー・ドメインのすべてのサーバーを起動します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。
アクティブ/アクティブ・システムでは、アプリケーションは複数のサーバーに均一にデプロイされ、アクティブに実行されます。
しかし、均一にデプロイされたこれらのアプリケーションからコーディネータ(リーダー)となるプライマリ・アプリケーションを選択する必要が生じる場合があります。この場合、コーディネータ・アプリケーションから発生したイベントは保持され、EPNの次のコンポーネントに渡されます。セカンダリ・サーバーの結果は削除されます。ただし、コーディネータにエラーが発生した場合は、いずれかのセカンダリ・サーバーが新しいコーディネータとして選択される必要があります。
アプリケーションでこれを有効化するには、一般的にイベント・シンクのロールに属するアダプタまたはイベントBeanが、com.bea.wlevs.ede.api.cluster.GroupMembershipListener
インタフェースを実装する必要があります。それにより、マルチサーバー・ドメイン・グループのメンバーシップの変更をイベント・シンクがリスニングできるようになります。実行時には、メンバーシップに変更が発生するたびに、Oracle CEPがonMembershipChange
コールバック・メソッドを自動的に呼び出します。
コールバック・メソッドのシグネチャは次のとおりです。
onMembershipChange(Server localIdentity, Configuration groupConfiguration);
onMembershipChange
コールバック・メソッドの実装では、イベント・シンクがServer
オブジェクト(localIdentity
)を使用してリーダーかどうかを検証します。この検証は、localIdentity
と、第2パラメータgroupConfiguration
でのConfiguration.getCoordinator()
の実行結果を比較して行うことができます。また、このパラメータを使用すると、Configuration.getMembers()
を実行して、現在のグループのメンバーをサーバーに知らせることもできます。
注意: 通知グループに新しいAPIがあります。詳細は、『Oracle Complex Event Processing開発者ガイドfor Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。 |
メンバーがコーディネータである場合にのみイベントを保持するために、イベント・シンクはグループのメンバーシップに変更があるたびに新しいServer
IDを取得する必要があります。グループ・メンバーシップに変更が発生するのは、たとえば、グループ内の他のサーバーでエラーが発生し、そのサーバーがコーディネータではなくなった場合です。
グループに対する変更だけでなくドメイン全体に対するメンバーシップの変更をリスニングするための、同様のインタフェースcom.bea.wlevs.ede.api.cluster.DomainMembershipListener
があります。
ホット-ホット構成には、失敗の通知にゼロ以外の遅延がある点に注意してください。クラスタリングの実装に通知APIを使用する場合、サーバー障害とマスター・サーバーに配信される通知の間のウィンドウで発生するイベントを失って、処理できません。
詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』を参照してください。
マルチサーバー・ドメインのサーバーを起動するには、起動スクリプトを実行して各サーバーを個別に起動します。これは、スタンドアロン・サーバー・ドメインのサーバーを起動する方法と同じです。詳細は、3.3項「スタンドアロン・サーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。
マルチ・サーバー・ドメインのカスタム・グループを構成しなかった場合、単純にすべてのサーバーは事前定義されたドメイン・グループ(マルチ・サーバー・ドメイン内のすべてのサーバーが含まれる)とシングルトン・グループ(メンバーのサーバーごとに1つ)のメンバーになります。つまり、マルチ・サーバー・ドメインに3つのサーバーが存在する例では、シングルトン・グループも3つになります。
これに対し、マルチサーバー・ドメインにカスタム・グループを構成した場合、サーバーは事前定義されたグループのメンバーであると同時に、構成されたグループのメンバーにもなります。
注意: Windowsの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle CEPサーバーを停止しないでください。stopwlevs.cmd スクリプトまたはCtrl-C を使用すると、Oracle CEPサーバーはいつでも停止します。 |