| Oracle® Fusion Middlewareリリース・ノート 11gリリース1(11.1.1) for Linux x86 B55924-02 |
|
![]() 戻る |
![]() 次へ |
この章では、Oracle Complex Event Processing(Oracle CEP)に関連する問題について説明します。内容は次のとおりです。
この項では、一般的な問題および回避方法について説明します。内容は次のとおりです。
表29-1に、11gリリース1(11.1.1)で非推奨のJava APIとその代替API(存在する場合)を示します。
表29-1 非推奨のJava API
| 非推奨のAPI | 代替API |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
イベントの記録および再生に関連する |
|
表29-2に、11gリリース1(11.1.1)で非推奨のOracle CEPスキーマとその代替スキーマ(存在する場合)を示します。
表29-2 非推奨のOracle CEPスキーマ
| 非推奨のスキーマ | アセンブリ・ファイルで非推奨か | コンポーネント構成ファイルで非推奨か | 代替スキーマ |
|---|---|---|---|
|
|
はい |
はい |
|
|
|
はい |
N/A |
|
|
|
はい |
N/A |
|
|
|
はい |
N/A |
なし。 |
|
|
はい |
N/A |
なし。 |
|
|
N/A |
はい |
なし。 |
|
|
N/A |
はい |
なし。 |
|
|
N/A |
はい |
なし。 |
アダプタのプログラミング・モデルの変更箇所は、次のとおりです。
アウトバウンド・アダプタ
以前はインバウンド・アダプタのみでしたが、現在はアウトバウンド・アダプタもあります。
アダプタのライフサイクル・コールバック・メソッド
アダプタのSpringタグには、現在、EPNアセンブリ・ファイルを通じてライフサイクル・コールバック・メソッドを設定するための属性が含まれます。
実行可能アダプタ
スレッドで実行するアダプタでは、現在、そのJavaクラスでcom.bea.wlevs.ede.api.RunnableBeanを実装する必要があります。
アダプタ・ファクトリ
プログラマは、アダプタの作成時にアダプタ・ファクトリを作成する必要がなくなりました。アダプタ・ファクトリを作成する必要があるのは、アプリケーション間でアダプタを共有する場合のみです。
アダプタ・プロバイダの公開
アダプタ・プロバイダは、OSGiサービス・レジストリを通じて公開されるアダプタのファクトリです。
以前は、アダプタ・プロバイダを公開する唯一の方法は、次のようにSpring-DMを使用することでした。
<osgi:service interface="com.bea.wlevs.ede.api.AdapterFactory" ref="myBean">
<osgi:service-properties>
<entry key="type" value="SocketAdapterType"/>
</osgi:service-properties>
</osgi:service>
ただし、Spring-DMでは同じアプリケーションでのOSGiサービスのエクスポートとインポートがサポートされないため、前述の方法は非推奨です。
現在は、次のようにwlevs:factoryタグを使用してプロバイダを宣言する必要があります。
<wlevs:factory provider-name="SocketAdapterType" ref="myBean">
この方法は、アダプタが同じアプリケーションに存在するかどうかにかかわらず、動作します。
現在、アダプタとプロバイダが同一の場所に(両方とも同じアプリケーションに)存在する場合、プロバイダの使用はオプションです。アダプタは、直接インスタンス化できるためです。
この変更に従わないと、アプリケーションが起動せず、最終的にタイムアウトする可能性があります。
OracleStockTickに置き換えられたStockTickイベント・タイプ
loadgenアダプタを使用する場合、StockTickイベントの名前がOracleStockTickになったことに注意してください。
このリリースでは、デプロイヤ・ツールの次の点が変更されています。
詳細は、Oracle CEPの管理者ガイドのデプロイヤのコマンドライン・リファレンスに関する項を参照してください。
デプロイヤ・ツールには、-suspendおよび-resumeという2つの新規オプションがあります。現在実行中のアプリケーションを一時停止する場合には-suspendを使用し、アプリケーションの実行を再開する場合には-resumeを使用してください。
デプロイヤ・ツールの-startおよび-stopコマンドは、非推奨になりました。
-installコマンドを使用してアプリケーションをインストールすると、Oracle CEPにより、すべての内部初期化タスクの完了後にそのアプリケーションが自動的に起動されます。その後、Oracle CEPサーバー・インスタンスを停止および起動すると、アプリケーションはそれに応じて自動的に停止および起動します。
-passwordは非推奨になったため、今後のリリースで削除される可能性があります。この引数を使用しないことをお薦めします。
Oracle CEPの管理フレームワークは、今回のリリースで修正されました。
Oracle CEPでは、JRMPプロトコルがサポートされなくなりました。かわりに、JMXクライアントでは、Oracle CEP JMXサーバーにローカルおよびリモートからアクセスするために、よりセキュアなMSAプロトコルを使用する必要があります。localhost上またはリモート・ホスト上で稼働するOracle CEP JMXサーバーに接続する場合、常にMSAコネクタを使用するように、必ずJMX URL service:jmx:msarmi://HOST-NAME:PORT/jndi/jmxconnectorを使用する必要があります(HOST-NAMEはlocalhostまたはリモート・ホスト名で、PORTはOracle CEPサーバーのJNDIポートです)。
詳細は、次を参照してください。
『Oracle CEP Administrator's Guide』のOracle CEP JMXサーバーへのアクセスに関する項
『Oracle CEP Administrator's Guide』のJMXの構成に関する項
Oracle Bug#8417480に従って記載されています。
同じホストで2つのサーバーを起動する環境について検討します。たとえば、ポート9002でリスニングするサーバー1と、ポート9022でリスニングするサーバー2があるとします。このとき、サーバー1のドメイン・ディレクトリでstopwlevs.shを使用すると、ポート9002でリスニングするサーバーは停止します。その後、サーバー2のドメイン・ディレクトリでstopwlevs.shを使用すると、接続リセット・エラーのために停止操作に失敗します。
回避方法: stopwlevs.shコマンドラインの引数-urlまたは-listenPortを使用して、9002以外のポートを指定します。
監視サービスは、アプリケーション・タイムスタンプ・チャネルが使用されており、is-totally-orderedが有効化されていない場合、CQLプロセッサを通じて処理されているイベントの待機時間を過少に見積る可能性があります。
Oracle Bug#8515145に従って記載されています。
(wlevsjconsole.shスクリプトの有無にかかわらず)JConsoleを使用してOracle CEPサーバーに接続すると、JConsoleでjava.lang.NullPointerExceptionがスローされることがあります。
回避方法: 例外のダイアログ・ボックスで「OK」をクリックし、操作を続けます。この例外は、JMX接続やOracle CEPサーバーに影響しません。
固定期間の非イベント・パターン検出は、11gリリース1(11.1.1)でサポートされます。固定期間の非イベント検出用の問合せを作成する場合、定数値と時間単位(DURATION 5 SECONDSなど)または定数値のみ(DURATION 5など)を含むDURATION句を使用できます。
可変期間の非イベント・パターン検出は、11gリリース1(11.1.1)でサポートされません。つまり、DURATION c1+4などの任意の演算式を含むDURATION句は、使用できません。
繰返しの非イベント・パターン検出は、11gリリース1(11.1.1)でサポートされますが、固定期間のみが対象です。つまり、MULTIPLES OF句を含むDURATION句は、使用できますが、定数値の期間のみが対象です。
次のメソッドがcom.bea.wlevs.management.configuration.JMSAdapterMBeanに追加されました。
getConnectionUser
getConnectionPassword
getConnectionEncryptedPassword
次の属性がwlevs_application_config.xsdの要素jms-adapterに追加されました。
connection-user
connection-password
connection-encrypted-password
Oracle CEPでJNDI InitialContextを取得する場合、userおよびpassword(またはencrypted-password)設定を使用します。
Oracle CEPでjavax.jms.ConnectionFactoryのcreateConnectionメソッドをコールしてJMS宛先(JMSキューまたはトピック)に対する接続を作成する場合、connection-userおよびconnection-password(またはconnection-encrypted-password)設定を使用します(構成されている場合)。それ以外の場合、Oracle CEPではuserおよびpassword(またはencrypted-password)設定を使用します。
1つのセキュリティ・プロバイダがJNDIアクセスに使用されており、もう1つのセキュリティ・プロバイダがJMSアクセスに使用されているアプリケーションでは、connection-userおよびconnection-password(またはconnection-encrypted-password)設定を使用できます。
この項では、構成に関する問題およびその回避方法について説明します。内容は次のとおりです。
29.2.4項「Oracle CEP Visualizer、FirefoxおよびSSLを使用したファイルのアップロード」
29.2.13項「Oracle CEPアプリケーションをWebサービス・プロバイダとして構成するにはJDK 1.6.0_14以上が必要」
29.2.19項「Oracle CEP Visualizerのcom.bea.wlevs.visualizer.helpバンドルの起動に失敗する」
29.2.24項「Oracle CQL問合せのアップグレードまたは追加後にOracle CEP Visualizerを手動でリフレッシュする」
WindowsでFirefoxブラウザ・バージョン3.0を使用してシグナル生成サンプル・ダッシュボード(URL http://localhost:9002/signalgeneration/dashboard.html)にアクセスすると、「開始」のクリック時にエラーが発生します。
回避方法: Internet Explorerバージョン7を使用してシグナル生成サンプル・ダッシュボードにアクセスします。
アクティブなVPNソフトウェアは、マルチキャスト・トラフィックにおいて予期しない動作をすることが知られています。また、Cisco VPNとNortel VPNの両方をインストールすると、マルチキャスト・トラフィックに障害が発生します。
Firefoxブラウザ(バージョン3.0、SSLおよびJDK 1.6)でOracle CEP Visualizerを使用すると、Oracle CEP Visualizerのページに最初にアクセスしたときに、レンダリングに時間がかかります(最大30秒かかることもあります)。
Oracle CEP Visualizerの使用時に、FirefoxブラウザとSSLを使用してファイルをアップロードしようとすると、エラーが発生することがあります。
これは、Oracle CEP Visualizerに影響するAdobe Flexの既知の問題です(http://bugs.adobe.com/jira/browse/FP-226)。
チャネルがOracle CQLプロセッサに接続されている場合、そのチャネルに外部ステージは使用できません。
FireFoxでOracle CEP Visualizerを使用する場合:
Jettyスクラッチ・ディレクトリに空白を含んだパスを設定しないでください。設定すると、FileNotFoundExceptionが発生します。
サーバー側でスローされるEOFExceptionは無視してください。これらの例外により、クライアント側で障害が発生することはありません。
Oracle Bug#8514556に従って記載されています。
Oracle CEP IDE for Eclipseでは、Linux上のFireFox 3の必須ライブラリと互換性のないEclipse 3.3を使用します。そのため、Eclipseは、起動時に次のようなJVMコア・ダンプおよびエラー・メッセージとともにクラッシュします。
# An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00bc80ac, pid=18044, tid=3086637584 # # Java VM: Java HotSpot(TM) Client VM (11.3-b02 mixed mode, sharing linux-x86) # Problematic frame: # C [libc.so.6+0x710ac] memcpy+0x1c # # An error report file with more information is saved as: # /usr/local/bt/workspace/testruntime/eclipse/hs_err_pid18044.log
回避方法: 次の手順を実行します。
Linuxマシンでrootユーザーに変更します。
次のように、コア・ダンプ・エラー・メッセージに記録されているlibc.soをEclipseでロードしないようにします。
mv libc.so libc.so.orig
|
注意: これにより、FireFox 3は現在のマシンで無効化されます。FireFox 3を使用するには、このライブラリの名前をlibc.soに戻す必要があります。 |
次のEclipse Linuxクラッシュ・サポートWikiページに記載されている指示に従います。
特に、Eclipseと組み合せて使用しているJVMが次の要件を満たしていることを確認します。
JVMがeclipse.iniファイルで明示的に指定されていること
JDK 1.6以上であること
Oracle Bug#8548822に従って記載されています。
IPv6と組み合せてLinux上でOracle CEPネイティブ・クラスタリングを使用すると、クラスタ・メンバーの再起動後に例29-1のようなエラーが発生することがあります。
例29-1 Oracle CEPサーバー・ログのevs4jエラー
<Error> <evs4j> <BEA-2049005> <The cluster member 3 is considered to have failed>
回避方法: 次の手順を実行します。
任意のエディタを使用して、関連するOracle CEPサーバー用のstartwlevs.shスクリプトを開きます。
startwlevs.shサーバー起動スクリプトは、メイン・ドメイン・ディレクトリ内のサーバー・ディレクトリにあります。たとえば、HelloWorldドメインのデフォルト・サーバー・ディレクトリの場所は、ORACLE_CEP_HOME/ocep_11.1/samples/domains/helloworld_domain/defaultserverです(ORACLE_CEP_HOMEは、/oracle_cepなどのメインのOracle CEPインストール・ディレクトリを示します)。
startwlevs.shスクリプトを編集し、次のように-Djava.net.preferIPv4Stack=trueプロパティをjavaコマンドラインに追加します。
"$JAVA_HOME/bin/java" $JVM_ARGS $DEBUG_ARGS -Djava.net.preferIPv4Stack=true
-Dwlevs.home="$USER_INSTALL_DIR" -Dbea.home="$BEA_HOME"
-jar "${USER_INSTALL_DIR}/bin/wlevs.jar" $ARGS
startwlevs.shスクリプトを保存して閉じます。
変更したstartwlevs.shスクリプトを使用して、関連するOracle CEPサーバーを起動します。
loadgenユーティリティでは、ASCII文字のみがサポートされます。マルチバイト・キャラクタ・セットはサポートされません。
キーストアのパスワードとSSL秘密鍵の別名は、同じである必要があります。異なる場合、Oracle CEPサーバーは起動しません。
通常、Oracle CEPサーバーのインストール時には、バンドルされているJRockit SDK 1.6.0_05を使用するためにOracle CEPサーバーを構成します。この他に、Sun Microsystems JDKを使用するためにOracle CEPサーバーを構成することもできます。
Sun JVMを使用するためにOracle CEPサーバーを構成するには、次の手順を行います。
適切なSun JDKをインストールします。
詳細は、次を参照してください。
任意のエディタを使用して、影響を受けるOracle CEPサーバーのsetDomainEnv.shまたはsetDomainEnv.cmdスクリプトを開きます。
このスクリプトは、メイン・ドメイン・ディレクトリ内のサーバー・ディレクトリにあります。たとえば、HelloWorldドメインのデフォルト・サーバー・ディレクトリの場所は、ORACLE_CEP_HOME/ocep_11.1/samples/domains/helloworld_domain/defaultserverです(ORACLE_CEP_HOMEは、/oracle_cepなどのメインのOracle CEPインストール・ディレクトリを示します)。
このスクリプトを次のように編集して、JAVA_HOME変数を、使用するJDK 1.6.0_11インストールに設定します。
JAVA_HOME=/scratch/jdk/jdk_1.6.0_11
スクリプトを保存して閉じます。
任意のエディタを使用して、影響を受けるOracle CEPサーバーのstartwlevs.shまたはstartwlevs.cmdスクリプトを開きます。
このサーバー起動スクリプトは、メイン・ドメイン・ディレクトリ内のサーバー・ディレクトリにあります。たとえば、HelloWorldドメインのデフォルト・サーバー・ディレクトリの場所は、ORACLE_CEP_HOME/ocep_11.1/samples/domains/helloworld_domain/defaultserverです(ORACLE_CEP_HOMEは、/oracle_cepなどのメインのOracle CEPインストール・ディレクトリを示します)。
このスクリプトを編集して、JVM_ARGS変数に次のプロパティを追加します。
... JVM_ARGS=-XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -Xms512m ...
スクリプトを保存して閉じます。
変更したstartwlevs.shまたはstartwlevs.cmdスクリプトを使用して、影響を受けるOracle CEPサーバーを起動します。
Red Hat Linux 5.3上ではEclipse 3.3の起動は失敗します。
この問題を回避するには、eclipse.iniファイルに次の行を追加します。
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9
Eclipse 3.4以上ではこの問題は発生しません。
Oracle CEPアプリケーションをWebサービス・プロバイダとして構成するには、DK 1.6.0_14以上を使用する必要があります。
Oracle Bug#9473264に従って記載されています。
Oracle CEPを/optなどの1つのマウント・ポイントにインストールし、ORACLE_CEP_HOME/ocep_11.1/common/bin/config.shを実行して、/devなどの別のマウント・ポイントを指定した場合(/devと/optは2つの異なるハード・ディスクを表す)、新しいドメイン名とそのドメインの場所のフルパスを入力すると、ConfigGeneratorExceptionにより構成ウィザードがドメインの作成に失敗します。
このリリースでは、Oracle CEPをインストールした場所と同じマウント・ポイントにのみドメインを作成できます。
Oracle Bug#9526609に従って記載されています。
このリリースでは、Oracle高可用性に対応しているアプリケーションで、Oracle CEPサーバーを一時停止または再開できません。つまり、次のコマンドは使用できません。
kill -s STOPCEP_SERVER_PIDkill -s CONTCEP_SERVER_PID
CEP_SERVER_PIDは、Oracle CEPサーバーのプロセスIDです。
Oracle Bug#9787466に従って記載されています。
2台の2次サーバーで同時に障害が発生することはまれですが、そのような場合は、Oracle Coherenceでデッドロックが発生し、Oracle高可用性フェイルオーバーが正常に実行されません。
回避方法:
Oracle高可用性デプロイメント・グループ内のすべてのサーバーを停止します。
これによってOracle Coherenceも停止します。
Oracle高可用性デプロイメント・グループ内のすべてのサーバーを再起動します。
これによってOracle Coherenceも再起動します。
セキュリティとパフォーマンスの両面から、本番システムでは必ずログ・レベルをNOTICE以上(NOTICE、WARNING、ERROR、CRITICAL、ALERTまたはEMERGENCY)に設定してください。
詳細は、Oracle CEPの管理者ガイドの、ログの重大度の使用に関する項を参照してください。
インストーラによるインストール・プロセスの一部として、ORACLE_CEP_HOME/user_projects/domains内にocep_domainという名前のデフォルト・ドメインが作成されます。インストールの完了後に、このドメインのデフォルト・ユーザー名およびパスワードを変更することをお薦めします。
詳細は、Oracle CEP Visualizerのユーザーズ・ガイドのユーザー・パスワードの変更方法に関する項を参照してください。
Oracle CEPサーバーを初めて起動する際に、Oracle CEP Visualizerのcom.bea.wlevs.visualizer.helpバンドルのデプロイメントがタイムアウトになり、失敗して次のようなサーバー・ログ・エラーが表示されます。
Critical error in OHW configuration. Config URL: null
回避方法:
Oracle CEPサーバーを停止します。
ORACLE_CEP_HOME/user_projects/domains/ocep_domain/SERVER_NAME/Jettyディレクトリおよびその内容を削除します。
Oracle CEPサーバーを起動します。
ORACLE_CEP_HOME\ocep_11.1\samples\source\applications\cql\build.xmlファイルを使用してOracle CQLサンプルをビルドし、ORACLE_CEP_HOME\ocep_11.1\samples\source\applications\cql\dist\com.bea.wlevs.example.cql_11.1.1.1_0.jarファイルをデプロイしようとすると、デプロイメントは失敗します。
回避方法: 例29-2に示すように、ORACLE_CEP_HOME\ocep_11.1\samples\source\applications\cql\build.xmlファイルを編集して、ターゲットcopyfilesの61行目のincludes属性をincludes="**/*"のように変更します。
例29-2 Oracle CQLサンプルのbuild.xml
...
<target name="copyfiles">
<mkdir dir="${output.dir}/META-INF/spring" />
<copy todir="${output.dir}/META-INF/spring">
<fileset dir="META-INF/spring" includes="*" />
</copy>
<mkdir dir="${output.dir}/META-INF/wlevs" />
<copy todir="${output.dir}/META-INF/wlevs">
<fileset dir="META-INF/wlevs/" includes="**/*" />
</copy>
</target>
...
Oracle Bug#9604646に従って記載されています。
サーバー起動コマンドラインに-disablesecurityを追加してセキュリティを無効化した場合は、構成ウィザードを使用して独自のドメイン(ORACLE_CEP_HOME/my_projects/my_domains/mydomain/myserverなど)を作成する際に、Oracle CEPサーバーを起動できません。
回避方法: セキュリティを無効化した状態でサーバーを起動するには、例29-3に示すように、startwlevs.shファイルを編集して-disablesecurity引数を追加します。
例29-3 startwlevs.shファイルへの-disablesecurity引数の追加
"$JAVA_HOME/bin/java" $JVM_ARGS $DEBUG_ARGS -Dwlevs.home="$USER_INSTALL_DIR" -Dbea.home="$BEA_HOME" -jar "${USER_INSTALL_DIR}/bin/wlevs.jar" -disablesecurity $ARGS
詳細は、Oracle CEPの管理者ガイドのグラフィカル・モードの構成ウィザードを使用したOracle CEPスタンドアロン・サーバー・ドメインの作成に関する項を参照してください。
Oracle Bug#9649029に従って記載されています。
構成ウィザードを使用して新規ドメインを作成する際に、新規ドメインのフルパス名の入力を求められますが、パス名の最後にLinuxのファイル・セパレータ文字(/)を使用しないでください。
次に正しい例を示します。
/cep/user_projects/domains
次のように入力しないでください。
/cep/user_projects/domains/
Oracle Bug#9828236に従って記載されています。
デフォルトでは、Oracle CEPでリソースおよびアプリケーションの構成履歴管理が提供されます。
この機能はオプションとして無効化できます。これを行うには、ORACLE-CEP-HOME/user_projects/domains/ocep_domain/SERVER/startwlevs.shファイルを編集します。
"$JAVA_HOME/bin/java" $JVM_ARGS $DEBUG_ARGS -Dwlevs.home="$USER_INSTALL_DIR" -Dbea.home="$BEA_HOME" -jar "${USER_INSTALL_DIR}/bin/wlevs.jar" $ARGS
この機能を無効化した場合、Oracle CEPは、マルチサーバー・ドメイン内のOracle CEPサーバー間でルールを伝播できません。そのため、ルール変更を伝播させるために、マルチサーバー・ドメインのすべてのサーバーでルールを手動で更新する必要があります。
この機能を無効化した後で再び有効化するには、次の手順を行う必要があります。
Oracle CEPアプリケーションをアンデプロイします。
Oracle CEPサーバーを停止します。
startwlevs.shファイルを編集して、-Dcom.oracle.ocep.config.version.enabledシステム・プロパティを削除するか、trueに設定します。
Oracle CEPサーバーを起動します。
Oracle CEPアプリケーションをデプロイします。
この手順が正常に実行されていない場合、マルチサーバー・ドメインでのルール伝播が失敗したり、マルチサーバー・ドメイン内のOracle CEPサーバーでの表示の一貫性をOracle CEP Visualizerが維持できなくなる可能性があります。
Oracle CEPアプリケーションをアップグレードする前に、開いているすべてのパネルを必ず閉じてください。閉じなかったパネルは、無効な状態のままになります。
Oracle CEP Visualizerを使用して、Oracle CQL問合せ、またはマルチサーバー・ドメイン内にデプロイされたOracle CEPアプリケーションのビューを追加または削除した場合、Oracle CEP VisualizerのOracle「CQLルール」タブに変更を表示するために、「ビュー」または「問合せ」ラジオ・ボタンを選択して「すべてのルール」ラジオ・ボタンを選択する必要があります。
マルチサーバー・ドメインでは、複数のOracle CEPサーバーから同時に更新を発行しないでください。
たとえば、1つのサーバーでOracle CQLルールを変更すると同時に別のサーバーでOracle CQLルールを変更することはできません。
これは、ルール、高可用性アダプタの変更などのすべての構成管理操作に適用されます。
この項では、ドキュメントの訂正箇所を示します。内容は次のとおりです。
29.3.1項「Oracle CQLの例にdata-aggre.propではなくorderData.propを使用する」
29.3.7項「イベント処理ネットワーク・エディタの画面キャプチャにサポートされていない「イベント・タイプ」タブが表示される」
Oracle CEPのスタート・ガイドの欠落しているイベント問合せのテスト手順の手順3を、次のように修正する必要があります。
...
...
orderData.propプロパティ・ファイルを使用して、ロード・ジェネレータを実行します。
Windowsの場合:
prompt> runloadgen.cmd orderData.prop
UNIXの場合:
prompt> runloadgen.sh orderData.prop
Oracle CEPのスタート・ガイドのイベントの記録および再生の例の1段落目を、次のように修正する必要があります。
「記録および再生の例では、イベント・ストアにイベントを記録するためのコンポーネントの構成方法、さらにそのイベント・ストアからイベントを再生するためのネットワーク内の別のコンポーネントの構成方法を示します。この例では、イベントの格納に、Oracle CEP提供のデフォルトのBerkeleyデータベースを使用します。また、HTTP Pub-Subパブリッシュ・アダプタをイベント処理ネットワーク内のノードとして構成する方法も示します。」
Oracle CEPのスタート・ガイドの例3-11 recplayアプリケーション構成ファイルconfig.xml: adapter要素を、次のように修正する必要があります。
<adapter>
<name>simpleEventSource</name>
<record-parameters>
<dataset-name>recplay_sample</dataset-name>
<event-type-list>
<event-type>SimpleEvent</event-type>
</event-type-list>
<batch-size>1</batch-size>
<batch-time-out>10</batch-time-out>
</record-parameters>
</adapter>
Oracle CEPのスタート・ガイドの次の段落、および例3-12 recplay Oracle CEPサーバー構成ファイルconfig.xml: data-sourceおよびrdbms-event-store-provider要素を削除する必要があります。
「例3-12に示すように、「プロバイダ名」には、data-sourceの子要素nameに対応する、rdbms-event-store-providerの子要素nameの値が含まれます。」
provider-name要素はオプションです。この要素を省略すると、Oracle CEPではOracle CEP提供のデフォルトのBerkeleyデータベース構成が使用されます。デフォルトのBerkeleyデータベース構成を使用することをお薦めします。
Oracle CEPターゲット・サーバーがマルチサーバー・ドメインの一部(つまり、クラスタリングが有効)の場合のみ、グループへのデプロイを行えます。Oracle CEPターゲット・サーバーがスタンドアロン・サーバー・ドメインの一部(つまり、クラスタリングが無効)の場合は、グループへのデプロイを行えません。詳細は、Oracle CEPの管理者ガイドのOracle CEPマルチサーバー・ドメイン管理の概要に関する項を参照してください。
このグループのデプロイメントの制限に関する注意を、次のドキュメントに含める必要があります。
Oracle CEPの管理者ガイドの表B-3 デプロイメント・コマンド。
Oracle CEP開発者ガイド for Eclipseのデプロイ・ユーティリティを使用したOracle CEPアプリケーションのデプロイ手順の手順5。
Oracle CEP Visualizerのユーザーズ・ガイドのスタンドアロン・サーバー・ドメインでのアプリケーションのデプロイに関する項。
Oracle CEP Visualizerのユーザーズ・ガイドのマルチサーバー・ドメインでのアプリケーションのデプロイに関する項。
Oracle CEP開発者ガイド for Eclipseの例9-9 表のEPNアセンブリ・ファイルのevent-type要素を、次のように修正する必要があります。
<wlevs:event-type-repository>
...
<wlevs:event-type type-name="StockEvent">
<wlevs:properties>
<wlevs:property name="symbol" type="char[]" length="16" />
<wlevs:property name="exchange" type="char[]" length="16" />
</wlevs:properties>
</wlevs:event-type>
...
</wlevs:event-type-repository>
Oracle CEP開発者ガイド for Eclipseの表9-2 EPNアセンブリ・ファイルのevent-type要素のプロパティ属性で、属性typeの行を次のように修正する必要があります。
「列のSQLデータ型に対応する表10-3のOracle CEP Java型。例10-4の場合、列記号の型値はchar[]です。」
Oracle CEP開発者ガイド for Eclipseの表9-3 SQL列タイプとOracle CEPタイプの等価を、次のように修正する必要があります。
[Cという表記をすべてchar[]にする。
[Bという表記をすべてbyte[]にする。
Oracle CEPの管理者ガイドには、Oracle CEPでPv6がサポートされないことが記述されていません。正しくは次のとおりです。
Oracle CEPサーバーでの使用に関して動作が保証されているのは、IPv4のみ、またはIPv4/IPv6デュアルスタックです。
Oracle CEPではIPv6はサポートされていません。
IPv6の詳細は、RFC 2460『Internet Protocol, Version 6(IPv6)Specification』(http://www.ietf.org/rfc/rfc2460.txt)を参照してください。
Oracle CEP開発者ガイド for Eclipseのイベント・パーティション化チャネルに関する項の2段落目と3段落目を、次のように修正する必要があります。
「デフォルトのEventPartitionerを使用するためにチャネルを構成する場合は、チャネルによるイベントのパーティション化の基準となるイベント・プロパティの名前を指定します。デフォルトのEventPartitionerでは、イベント・プロパティ値のObject.hashCode()を内部ハッシュ関数への入力として使用して、ハッシュ・キーが計算されます。hashkey % number-of-listenersを使用して、イベントを受信するリスナーが計算されます。このアルゴリズムは、新規項目の配置先バケットを計算するためにHashMapで使用されるものと同じアルゴリズムに基づきます。実際には、同じイベント・プロパティ値を持つイベントが同じリスナーに送信されることを意味します。
|
注意: デフォルトのイベント・プロパティに基づくEventPartitionerでは、ディスパッチはラウンド・ロビン方式では行われません。 |
イベント・パーティション化チャネルを使用し、ロード・バランシングを実行する場合は、各リスナーを同一にする必要があります。
それ以外の場合は、リスナーを同一にする必要はありません。」
Oracle CEP開発者ガイド for Eclipseのイベント・パーティション化チャネルを使用したスケーラビリティの構成方法の手順4を、次のように修正する必要があります。
「EPNアセンブリ・ファイルを編集して、partitionByEventPropertyインスタンス・プロパティをchannel要素に追加します。
このinstance-propertyのvalueは、チャネルによるイベントのパーティション化の基準になるイベント・プロパティの名前です。
この例では、イベント・プロパティsymbolを基準にして、チャネルによってイベントがパーティション化されます。」
また、例19-2 チャネルのeventPartionerインスタンス・プロパティを、次のように修正する必要があります。
...
<wlevs:channel id="EventPartitionerChannel" event-type="PriceEvent">
<wlevs:instance-property name="partitionByEventProperty" value="symbol" />
<wlevs:listener ref="processor1" />
<wlevs:listener ref="processor2" />
<wlevs:listener ref="processor3" />
<wlevs:source ref="inbound" />
</wlevs:channel>
...
イベント処理ネットワーク(EPN)エディタの画面キャプチャには、「イベント・タイプ」タブが表示されています。このタブは、このリリースではサポートされていないため、実際のOracle CEP IDE for Eclipseには表示されません。
Oracle CEP開発者ガイド for EclipseのOracle Spatialデータ・カートリッジ・アプリケーション・コンテキストの構成方法の手順2以降を、次のように修正する必要があります。
「次の例のようにEPNファイルを編集して、必要なネームスペースおよびスキーマの場所のエントリを追加します。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
xmlns:spatial="http://www.oracle.com/ns/ocep/spatial"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd"
http://www.oracle.com/ns/ocep/spatial
http://www.oracle.com/ns/ocep/spatial/ocep-spatial.xsd">
"
Oracle CEP CQLランゲージ・リファレンスのOracle Spatialデータ・カートリッジ・アプリケーション・コンテキストの1段落目を、次のように修正する必要があります。
「Oracle Spatialデータ・カートリッジのインスタンスのアプリケーション・コンテキストを定義して、このアプリケーション・コンテキストを実行時に伝播できます。これにより、特定のOracle Spatialアプリケーションのデフォルト(SDO_SRIDなど)を特定のOracle Spatialデータ・カートリッジ・インスタンスに関連付けることができます。
Oracle Spatialデータ・カートリッジ・アプリケーション・コンテキストを定義するには、まず、Oracle CEPアプリケーションのEPNアセンブリ・ファイルを編集して、必要なネームスペースおよびスキーマの場所のエントリを、次の例のように追加する必要があります。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
xmlns:spatial="http://www.oracle.com/ns/ocep/spatial"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd"
http://www.oracle.com/ns/ocep/spatial
http://www.oracle.com/ns/ocep/spatial/ocep-spatial.xsd">
"