この付録では、wlevs_application_config.xsd
スキーマの要素について説明します。
詳細は、次を参照してください:
Oracle CEPはEPNアセンブリ・ファイルで宣言するコンポーネントの特性を定義するために使用する多数のコンポーネント構成要素を提供します。
最上位レベルのOracle CEPコンポーネント構成要素は次の階層に構成されます。
config
例D-1 adapter要素の階層
adapter name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration symbols symbol work-manager-name netio provider-name num-threads accept-backlog
例D-2 http-pub-sub-adapter要素の階層
http-pub-sub-adapter name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration symbols symbol work-manager-name netio provider-name num-threads accept-backlog One of: server-context-path server-url channel (http-pub-sub-adapter Child Element) event-type user One of: password encrypted-password
例D-3 jms-adapter要素の階層
jms-adapter name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration event-type jndi-provider-url jndi-factory connection-jndi-name One of: destination-jndi-name destination-name user One of: password encrypted-password connection-user One of: connection-password connection-encrypted-password work-manager concurrent-consumers message-selector session-ack-mode-name session-transacted delivery-mode bindings (jms-adapter) group-binding param
例D-4 processor (EPL)要素の階層
processor (EPL) name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration rules rule query view database bindings (processor) binding params
例D-5 processor (Oracle CQL)要素の階層
processor (Oracle CQL) name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration rules rule query view bindings (processor) binding params
例D-6 stream要素の階層
stream name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration max-size max-threads
例D-7 channel要素の階層
channel name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-threads max-size time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration max-size max-threads selector heartbeat
例D-8 event-bean要素の階層
event-bean name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration
例D-9 caching-system要素の階層
caching-system name cache name max-size eviction-policy time-to-live idle-time One of: write-none write-through write-behind work-manager-name batch-size buffer-size buffer-write-attempts buffer-write-timeout work-manager-name listeners
例D-10 coherence-caching-system要素の階層
coherence-caching-system name coherence-cache-config coherence-cluster-config
例D-11 diagnostic-profiles要素の階層
diagnostic-profiles name profile name enabled start-stage max-latency name collect-interval amount unit start-location application stage direction end-location application stage direction average-latency name collect-interval amount unit start-location application stage direction end-location application stage direction threshhold throughput name throughput-interval amount unit average-interval amount unit location application stage direction
HelloWorldアプリケーションからの次のサンプル・コンポーネント構成ファイルは、多くのOracle CEP要素の使用方法を示します。
<?xml version="1.0" encoding="UTF-8"?> <n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <processor> <name>helloworldProcessor</name> <rules> <query id="helloworldRule"> <![CDATA[ select * from helloworldInputChannel [Now] ]]> </query> </rules> </processor> <channel> <name>helloworldInputChannel</name> <max-size>10000</max-size> <max-threads>2</max-threads> </channel> <channel> <name>helloworldOutputChannel</name> <max-size>10000</max-size> <max-threads>2</max-threads> </channel> </n1:config>
この要素を使用すると、カスタム・アダプタ・コンポーネントを定義できます。HTTPパブリッシュ・サブスクライバまたはJMSアダプタでは、特定のhttp-pub-sub-adapterおよびjms-adapter要素を使用します。
詳細は、第14章「カスタム・アダプタの構成」を参照してください。
この要素を使用すると、診断プロファイルの期間を定義できます。この要素は、次の要素のいずれかに適用できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例は、コンポーネント構成ファイル内のamount
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <collect-interval> <amount>1000</amount> <unit>s</unit> </collect-interval> <name>testProfile0MaxLat</name> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
Oracle CEPサーバーが外部ステージに適用するアプリケーションのタイプを定義するためにこの要素を使用します。診断プロファイルでは、この要素は常にdiagnostic
の値を持ちます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例は、コンポーネント構成ファイル内のapplication
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <collect-interval> <amount>1000</amount> <unit>s</unit> </collect-interval> <name>testProfile0MaxLat</name> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
メトリックを収集対象の時間間隔を定義するためにこの要素を使用します。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例は、コンポーネント構成ファイル内のaverage-interval
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <throughput> <throughput-interval> <amount>100000</amount> <unit>MICROSECONDS</unit> </throughput-interval> <average-interval> <amount>100000000</amount> <unit>NANOSECONDS</unit> </average-interval> <location> <application>diagnostic</application> <stage>AlertEventStream</stage> <direction>INBOUND</direction> </location> </throughput> </profile> </diagnostic-profiles>
診断プロファイルにおける平均待機時間の計算を定義するためにこの要素を使用します。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のaverage-latency
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <average-latency> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> <threshhold> <amount>100</amount> <unit>MILLISECONDS</unit> </threshhold> </average-latency> </profile> </diagnostic-profiles>
この要素を使用すると、バッキング・ストアにライト・バックするためのストア・バッファから選択される更新数を定義できます。この要素は動的に変更されます。
次の例はコンポーネント構成ファイル内のbatch-size
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用すると、イベント・ストアに書きこむ前にbatch-size
回のイベントを累積するために、イベント・バッファが待機する秒数を定義できます。
次の例はコンポーネント構成ファイル内のbatch-time-out
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用すると、EPLプロセッサ・コンポーネントにおいてパラメータ化されたOracle CQLまたはEPLルールの値を定義できます。
詳細は、次を参照してください:
『Oracle Complex Event Processing CQL言語リファレンス』のパラメータ化された問合せに関する項
Oracle Complex Event ProcessingEPL言語リファレンスのパラメータ化された問合せに関する項
次の例は、コンポーネント構成ファイル内のbinding
要素の使用方法を示します。
<processor> <name>processor1</name> <record-parameters> <dataset-name>test1data</dataset-name> <event-type-list> <event-type>SimpleEvent</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters> <rules> <rule id="rule1"><![CDATA[ select stockSymbol, avg(price) as percentage from StockTick retain 5 events where stockSymbol=? having avg(price) > ? or avg(price) < ? ]]></rule> </rules> <bindings> <binding id="rule1"> <params>BEAS,10.0,-10.0</params> <params id="IBM">IBM,5.0,5.0</params> </binding> </bindings> </processor>
com.oracle.cep.cluster.hagroups.ActiveActiveGroupBean
を使用して、ActiveActiveGroupBean
で作成された通知グループによって、Oracle CEPアプリケーションの受信JMSストリームをパーティション化できます。
この要素を使用して、通知グループを特定のmessage-selector
値と関連付けます。
詳細は、22.2.2項「ActiveActiveGroupBean」を参照してください。
次の例は、コンポーネント構成ファイル内のbindings
要素の使用方法を示します。
<jms-adapter> <name>JMSInboundAdapter</name> <event-type>StockTick</event-type> <jndi-provider-url>t3://ppurich-pc:7001</jndi-provider-url> <destination-jndi-name>./Topic1</destination-jndi-name> <user>weblogic</user> <password>weblogic1</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>true</session-transacted> <message-selector>${CONDITION}</message-selector> <bindings> <group-binding group-id="ActiveActiveGroupBean_group1"> <param id="CONDITION">acctid > 400</param> </group-binding> <group-binding group-id="ActiveActiveGroupBean_group2"> <param id="CONDITION">acctid BETWEEN 301 AND 400</param> </group-binding> <group-binding group-id="ActiveActiveGroupBean_group3"> <param id="CONDITION">acctid BETWEEN 201 AND 300</param> </group-binding> <group-binding group-id="ActiveActiveGroupBean_group4"> <param id="CONDITION">acctid <= 200</param> </group-binding> </bindings> </jms-adapter>
この構成では、ActiveActiveGroupBean_group1
を含むcluster
要素、groups
子要素でアプリケーションをOracle CEPサーバーにデプロイすると、CONDITION
パラメータがacctid > 400
と定義され、acctid
プロパティが400以上であるイベントがアプリケーションにより処理されます。
この要素を使用すると、プロセッサ・コンポーネントにおいて1つ以上のパラメータ化されたOracle CQLまたはEPLルールのバインドを定義できます。
詳細は、次を参照してください:
『Oracle Complex Event Processing CQL言語リファレンス』のパラメータ化された問合せに関する項
Oracle Complex Event ProcessingEPL言語リファレンスのパラメータ化された問合せに関する項
次の例は、コンポーネント構成ファイル内のbindings
要素の使用方法を示します。
<processor> <name>processor1</name> <record-parameters> <dataset-name>test1data</dataset-name> <event-type-list> <event-type>SimpleEvent</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters> <rules> <rule id="rule1"><![CDATA[ select stockSymbol, avg(price) as percentage from StockTick retain 5 events where stockSymbol=? having avg(price) > ? or avg(price) < ? ]]></rule> </rules> <bindings> <binding id="rule1"> <params>BEAS,10.0,-10.0</params> <params id="IBM">IBM,5.0,5.0</params> </binding> </bindings> </processor>
この要素を使用すると、内部ストア・バッファのサイズを定義できます。このバッファは、ストアに書き込む必要がある非同期更新を一時的に保存するために使用されます。動的更新はサポートしていません。
次の例はコンポーネント構成ファイル内のbuffer-size
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <batch-size>100</batch-size> <buffer-size>100</buffer-size> <buffer-write-attempts>100</buffer-write-attempts> <buffer-write-timeout>100</buffer-write-timeout> </write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この要素を使用すると、ユーザー・スレッドがストア・バッファに書き込むために行う試行回数を定義できます。ユーザー・スレッドとは、キャッシュ・エントリの作成または更新を行うスレッドです。ユーザー・スレッドがストア・バッファに書き込むことができない場合(すべての書き込み試行が失敗した場合)、同期的にストアを起動します。この要素は動的に変更されます。
次の例は、コンポーネント構成ファイル内のbuffer-write-attempts
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <batch-size>100</batch-size> <buffer-size>100</buffer-size> <buffer-write-attempts>100</buffer-write-attempts> <buffer-write-timeout>100</buffer-write-timeout> </write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この要素を使用するとユーザー・スレッドがストア・バッファへの書き込み試行を中断する前の待機時間をミリ秒単位で定義できます。ストア・バッファへの書き込み試行が失敗するのはバッファがいっぱいの場合のみです。タイムアウト後は以降のバッファへの書き込み試行はbuffer-write-attemptsの値に基づいて行われます。この要素は動的に変更されます。
次の例はコンポーネント構成ファイル内のbuffer-write-timeout
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <batch-size>100</batch-size> <buffer-size>100</buffer-size> <buffer-write-attempts>100</buffer-write-attempts> <buffer-write-timeout>100</buffer-write-timeout> </write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この要素を使用するとコンポーネントのキャッシュを定義できます。キャッシュとはイベントの一時保存領域で、Oracle CEPアプリケーションの全体のパフォーマンスを向上するために排他的に作成されます。アプリケーションが正常に機能するためには必要ありません。Oracle CEPアプリケーションはオプションでイベントをキャッシュにパブリッシュしたりキャッシュから消費したりして、イベントの可用性およびアプリケーションのパフォーマンスを向上させることができます。
詳細は、12.2項「Oracle CEPローカル・キャッシュ・システムおよびキャッシュの構成」を参照してください。
次の例はコンポーネント構成ファイル内のcache
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-none/> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この要素を使用するとOracle CEPローカル・キャッシュ・システム・コンポーネントを定義できます。キャッシュ・システムとはキャッシュ実装の構成されたインスタンスです。キャッシュ・システムは構成されたキャッシュの名前付きセットを定義すると共に任意のキャッシュが複数のマシンに渡って配信される場合、リモート通信用の構成を定義します。
詳細は、12.2.1項「イベント・リスナーとしてのOracle CEPローカル・キャッシュの構成」を参照してください。
次の例はコンポーネント構成ファイル内のcaching-system
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-none/> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この例ではchannelの一意の識別子はproviderCachingSystem
です。
この要素を使用するとチャネル・コンポーネントを定義できます。Oracle CEPアプリケーションには1つ以上のチャネル・コンポーネントが含まれます。このコンポーネントはアダプタとプロセッサ間やプロセッサとイベントBean(ビジネス・ロジックPOJO)間のような他のコンポーネント同士をイベントが往来する物理的なパイプを表します。
channel
要素を使用するとhttp-pub-sub-adapterがパブリッシュまたはサブスクライブする対象のチャネルを指定できます。いずれのチャネルもローカル/リモートであろうとパブリッシュ用/サブスクライブ用であろうとすべてのhttp-pub-sub-adapterに割り当てられます。
この要素を使用するとcoherence-caching-system
用のOracle Coherenceキャッシュ構成を定義できます。
詳細は、12.2項「Oracle CEPローカル・キャッシュ・システムおよびキャッシュの構成」を参照してください。
この要素を使用すると、Oracle Coherenceキャッシュ・システム・コンポーネントを定義できます。キャッシュ・システムとは、キャッシュ実装の構成されたインスタンスです。キャッシュ・システムは、構成されたキャッシュの名前付きセットを定義すると共に、任意のキャッシュが複数のマシンに渡って配信される場合、リモート通信用の構成を定義します。
詳細は、12.3項「Oracle Coherenceキャッシュ・システムおよびキャッシュの構成」を参照してください。
次の例はコンポーネント構成ファイル内のcoherence-caching-system
要素の使用方法を示します。
<coherence-caching-system> <name>nativeCachingSystem</name> <coherence-cache-config> applications/cache_cql/coherence/coherence-cache-config.xml </coherence-cache-config> </coherence-caching-system>
この例ではchannelの一意の識別子はnativeCachingSystem
です。
この要素を使用するとcoherence-caching-system
用のOracle Coherenceクラスタ構成を定義できます。
詳細は、『Oracle Complex Event Processing管理者ガイド』のOracle CEPマルチサーバー・ドメイン管理の概要に関する項を参照してください。
この要素を使用すると診断プロファイルにおいてaverage-latency
またはmax-latency
要素の収集間隔を定義できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のcollect-interval
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <collect-interval> <amount>1000</amount> <unit>s</unit> </collect-interval> <name>testProfile0MaxLat</name> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
この要素を使用して、作成するコンシューマ数を定義します。デフォルト値は1です。
この値を1より大きい数字に設定した場合は、コンバータBeanがスレッド・セーフであることを確認してください。これは、コンバータBeanがコンシューマ間で共有されるためです。
concurrent-consumers
が1より大きく、すべてのコンシューマを同時に実行する場合、このJMSアダプタと関連付けるwork-managerの構成方法を検討する必要があります。
work-manager
が他のコンポーネント(その他のアダプタおよびJetty)と共有されている場合、work-manager
属性max-threads-constraint
をconcurrent-consumers
の設定以上に設定します。
work-manager
が共有されていない場合(つまり、この受信JMSアダプタ専用の場合)、work-manager
属性max-threads-constraint
をconcurrent-consumers
と同じ設定にします。
詳細は、次を参照してください:
次の例はコンポーネント構成ファイル内のconcurrent-consumers
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <connection-jndi-name>weblogic.jms.ConnectionFactory</connection-jndi-name> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>false</session-transacted> </jms-adapter>
この要素を使用するとJMS接続ファクトリのJNDI名を定義できます。Oracle CEPサーバーJMSのデフォルト値はweblogic.jms.ConnectionFactory
です。
次の例はコンポーネント構成ファイル内のconnection-jndi-name
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <connection-jndi-name>weblogic.jms.ConnectionFactory</connection-jndi-name> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>false</session-transacted> </jms-adapter>
connection-encrypted-password
要素を使用するとOracle CEPがJMSサービス・プロバイダへの接続取得時に使用する暗号化されたjms-adapter
パスワードを定義できます。
Oracle CEPがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory
上でcreateConnection
メソッドをコールするときconnection-user
およびconnection-password
を使用し、また構成済の場合はconnection-encrypted-password
要素を使用します。それ以外の場合は、Oracle CEPはuser
およびpassword
(またはencrypted-password
)要素を使用します。
connection-encrypted-password
またはconnection-password
のいずれかを使用します。ただし、両方を使用することはできません。
詳細は、7.4項「JMSアダプタ構成ファイルでのパスワードの暗号化」を参照してください。
次の例はコンポーネント構成ファイル内のconnection-encrypted-password
要素の使用方法を示します。
<http-pub-sub-adapter> <name>remotePub</name> <server-url>http://localhost:9002/pubsub</server-url> <channel>/test1</channel> <event-type>com.bea.wlevs.tests.httppubsub.PubsubTestEvent</event-type> <user>wlevs</user> <password>wlevs</password> <connection-user>wlevscon</user> <encrypted-password>{Salted-3DES}s4YUEvH4Wl2DAjb45iJnrw==</encrypted-password> </http-pub-sub-adapter>
connection-password
要素を使用するとOracle CEPがJMSサービス・プロバイダへの接続取得時に使用するjms-adapter
パスワードを定義できます。
Oracle CEPがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory
上でcreateConnection
メソッドをコールするとき、connection-user
およびconnection-password
を使用し、また構成済の場合はconnection-encrypted-password
要素を使用します。それ以外の場合はOracle CEPはuser
およびpassword
(またはencrypted-password
)要素を使用します。
connection-password
またはconnection-encrypted-password
のいずれかを使用します。ただし、両方を使用することはできません。
次の例はコンポーネント構成ファイル内のconnection-password
要素の使用方法を示します。
<http-pub-sub-adapter> <name>remotePub</name> <server-url>http://localhost:9002/pubsub</server-url> <channel>/test1</channel> <event-type>com.bea.wlevs.tests.httppubsub.PubsubTestEvent</event-type> <user>wlevs</user> <password>wlevs</password> <connection-user>wlevscon</user> <connection-password>wlevscon</password> </http-pub-sub-adapter>
connection-user
要素を使用するとOracle CEPがJMSサービス・プロバイダへの接続取得時に使用するjms-adapter
のユーザー名を定義できます。
Oracle CEPがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory
上でcreateConnection
メソッドをコールするときconnection-user
およびconnection-password
を使用し、また構成済の場合はconnection-encrypted-password
要素を使用します。それ以外の場合はOracle CEPはuser
およびpassword
(またはencrypted-password
)要素を使用します。
アプリケーションでconnection-user
およびconnection-password
(またはconnection-encrypted-password
)の設定を使用できます。その場合、一方のセキュリティ・プロバイダはJNDIアクセスに使用され、JMSアクセスには別のセキュリティ・プロバイダが使用されます。
次の例はコンポーネント構成ファイル内のconnection-user
要素の使用方法を示します
<http-pub-sub-adapter> <name>remotePub</name> <server-url>http://localhost:9002/pubsub</server-url> <channel>/test1</channel> <event-type>com.bea.wlevs.tests.httppubsub.PubsubTestEvent</event-type> <user>wlevs</user> <password>wlevs</password> <connection-user>wlevscon</user> <connection-password>wlevscon</password> </http-pub-sub-adapter>
この要素を使用するとEPLプロセッサ・コンポーネントのデータベース参照を定義できます。
詳細は、第11章「EPLプロセッサの構成」を参照してください。
次の例は、コンポーネント構成ファイル内のdatabase
要素の使用方法を示します。
<processor> <name>proc</name> <rules> <rule id="rule1"><![CDATA[ SELECT symbol, price FROM ExchangeEvent retain 1 event, StockDb ('SELECT symbol FROM Stock WHERE symbol = ${symbol}') ]]></rule> </rules> <database name="StockDb" data-source-name="StockDs" /> </processor>
この要素を使用すると、ユーザーがグループ化する対象のデータのグループを定義できます。Oracle RDBMSベースのプロバイダの場合、この要素は、記録されたイベントを保存する表が作成される、データベース領域またはスキーマを指定します。Oracle RDBMSベースのプロバイダを構成するには、この要素を指定する必要があります。
次の例は、コンポーネント構成ファイル内のdataset-name
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用すると、jms-adapter
用の配信モードを定義できます。
有効な値:
persistent
(デフォルト)
nonpersistent
次の例は、コンポーネント構成ファイル内のdelivery-mode
要素の使用方法を示します。
<jms-adapter> <name>jmsOutbound-map</name> <event-type>JMSTestEvent</event-type> <jndi-provider-url>t3://localhost:7001</jndi-provider-url> <destination-jndi-name>Topic1</destination-jndi-name> <delivery-mode>nonpersistent</delivery-mode> </jms-adapter>
この必須要素を使用すると、jms-adapter
用のJMS宛先名を定義できます。
JNDI名または実際のdestination-name
のいずれかを指定します。ただし、両方は指定できません。
次の例は、コンポーネント構成ファイル内のdestination-jndi-name
要素の使用方法を示します。
<jms-adapter> <name>jmsOutbound-map</name> <event-type>JMSTestEvent</event-type> <jndi-provider-url>t3://localhost:7001</jndi-provider-url> <destination-jndi-name>Topic1</destination-jndi-name> <delivery-mode>nonpersistent</delivery-mode> </jms-adapter>
この必須要素を使用すると、jms-adapter
用のJMS宛先名を定義できます。
実際の宛先名またはdestination-jndi-name
のいずれかを指定します。ただし、両方は指定できません。
次の例は、コンポーネント構成ファイル内のdestination-name
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <connection-jndi-name>weblogic.jms.ConnectionFactory</connection-jndi-name> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>false</session-transacted> </jms-adapter>
この要素を使用すると、1つ以上のOracle CEP診断プロファイルを定義できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
この要素を使用すると、診断プロファイルのend-location
またはstart-location
に関する方向を定義できます。
有効な値:
INBOUND
OUTBOUND
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例は、コンポーネント構成ファイル内のdirection
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <collect-interval> <amount>1000</amount> <unit>s</unit> </collect-interval> <name>testProfile0MaxLat</name> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
この要素を使用すると、schedule-time-range-offset
またはtime-range-offset
要素の期間を次の形式で定義できます。
HH:MM:SS
ここで、HH
は時間数、MM
は分数、SS
は秒数です。
次の例はコンポーネント構成ファイル内のduration
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <time-range-offset> <start>2010-01-20T05:00:00</start> <duration>03:00:00</duration> </time-range-offset> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用すると、診断プロファイルを有効化するかどうかを定義できます。
有効な値:
true
false
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のenabled
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
encrypted-password
要素は次の親要素で使用します。
http-pub-sub-adapter
:encrypted-password
要素を使用するとOracle CEPアプリケーションがパブリッシュする対象となるHTTPパブリッシュ/サブスクライブ・サーバーがユーザー認証を要求する場合に暗号化されたパスワードを定義できます。
jms-adapter
:Oracle CEPがJNDI InitialContext
を取得するときuser
およびpassword
(またはencrypted-password
)要素を使用します。Oracle CEPがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory
上でcreateConnection
メソッドをコールするときconnection-user
およびconnection-password
を使用し、また構成済の場合は(connection-encrypted-password
要素)を使用します。それ以外の場合はOracle CEPはuser
およびpassword
(またはencrypted-password
)要素を使用します。
encrypted-password
またはpassword
のいずれかを使用します。ただし、両方を使用することはできません。
詳細は、7.4項「JMSアダプタ構成ファイルでのパスワードの暗号化」を参照してください。
次の例は、コンポーネント構成ファイル内のencrypted-password
要素の使用方法を示します。
<http-pub-sub-adapter> <name>remotePub</name> <server-url>http://localhost:9002/pubsub</server-url> <channel>/test1</channel> <event-type>com.bea.wlevs.tests.httppubsub.PubsubTestEvent</event-type> <user>wlevs</user> <encrypted-password>{Salted-3DES}s4YUEvH4Wl2DAjb45iJnrw==</encrypted-password> </http-pub-sub-adapter>
この要素を使用するとtime-range
またはschedule-time-range
要素の終了時間を定義できます。
終了時間を次のXMLスキーマのdateTime
値の形式として表します。
yyyy-mm-ddThh:mm:ss
たとえば、開始を2010年1月20日午前5時、終了を2010年1月20日午後6時に指定するには、次のように入力します。
<time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range>
XMLスキーマのdateTime
形式の完全な詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representation
を参照してください。
次の例はコンポーネント構成ファイル内のend
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用すると診断プロファイルにおいてaverage-latency
またはmax-latency
要素の終了位置を定義できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のend-location
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <collect-interval> <amount>1000</amount> <unit>s</unit> </collect-interval> <name>testProfile0MaxLat</name> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
パブリッシュ: オプション。パブリッシュされるローカルおよびリモートHTTP pub-subアダプタに対してJavaBean
イベントの完全修飾クラス名を指定し、パブリッシュされるイベントのタイプ数を制限します。指定しない場合、HTTP pub-subアダプタに送信されたすべてのイベントがパブリッシュされます。
サブスクライブ: オプション。サブスクライブされるローカルおよびリモートHTTP pub-subアダプタに対して、受信メッセージをマップするJavaBean
イベントの完全修飾クラス名を指定します。Oracle CEPでは実行時に、受信キー値ペアがメッセージに使用され、メッセージ・データが指定のイベント・タイプにマップされます。
このクラスをEPNアセンブリ・ファイルにwlevs:event-type-repository
要素、wlevs:class
子要素として登録する必要があります。詳細は、2.2項「JavaBeanとしてOracle CEPイベント・タイプの作成」を参照してください。
jms-adapter
: event-type
要素を使用すると、プロパティがJMSメッセージのプロパティに一致するイベント型を指定できます。Oracle CEPにJMSメッセージとイベント間の変換を自動的に行わせる場合のみ、この子要素を指定します。独自のカスタム・コンバータBeanを作成済の場合はこの要素を指定しません。
record-parameters
: event-type
要素を使用すると、記録するイベントを指定できます。
event-type
要素の値はイベント型のリポジトリで定義したいずれかのイベント型にします。詳細は、1.1.2項「Oracle CEPイベント・タイプ」を参照してください。
次の例はコンポーネント構成ファイル内のevent-type
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用すると、1つ以上の記録用イベントまたはコンポーネントの再生用イベントを定義できます。
次の例は、コンポーネント構成ファイル内のevent-type-list
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用すると、max-size
の到着時にキャッシュが使用する削除ポリシーを定義できます。
有効な値:
FIFO
: 先入れ先出し。
LRU
: 最も長い期間使用されていない
LFU
: 最も使用頻度が低い(デフォルト)
NRU
: 最近使用されていない
次の例はコンポーネント構成ファイル内のeviction-policy
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-none/> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
JMSインバウンド・アダプタのjms-adapter
要素にgroup-binding
子要素を追加するために、コンポーネント構成ファイルを編集します。
各可能JMSメッセージ・セレクタ値に対して1つのgroup-binding
要素を追加します。
詳細は、D.11項「bindings (jms-adapter)」を参照してください。
次の例はコンポーネント構成ファイル内のgroup-binding
要素の使用方法を示します。
<jms-adapter> <name>JMSInboundAdapter</name> <event-type>StockTick</event-type> <jndi-provider-url>t3://ppurich-pc:7001</jndi-provider-url> <destination-jndi-name>./Topic1</destination-jndi-name> <user>weblogic</user> <password>weblogic1</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>true</session-transacted> <message-selector>${CONDITION}</message-selector> <bindings> <group-binding group-id="ActiveActiveGroupBean_group1"> <param id="CONDITION">acctid > 400</param> </group-binding> <group-binding group-id="ActiveActiveGroupBean_group2"> <param id="CONDITION">acctid BETWEEN 301 AND 400</param> </group-binding> <group-binding group-id="ActiveActiveGroupBean_group3"> <param id="CONDITION">acctid BETWEEN 201 AND 300</param> </group-binding> <group-binding group-id="ActiveActiveGroupBean_group4"> <param id="CONDITION">acctid <= 200</param> </group-binding> </bindings> </jms-adapter>
この構成では、ActiveActiveGroupBean_group1
を含むcluster
要素、groups
子要素でアプリケーションをOracle CEPサーバーにデプロイすると、CONDITION
パラメータがacctid > 400
と定義され、acctid
プロパティが400以上であるイベントがアプリケーションにより処理されます。
この要素を使用すると、システムがタイムスタンプを付けたchannel
コンポーネントのハートビート・タイムアウトを定義できます。
システムがタイムスタンプを付けた関係またはストリームでは、時間は、関係またはストリームのソース上のデータの到着に依存します。Oracle CEPは、このナノ秒を超えてアクションがない場合(ストリームまたは関係のソースにデータが到着しない場合)、システムがタイムスタンプを付けた関係またはストリーム上でハートビートを生成します。関係またはストリームのいずれかがその指定されたソースから移入されるか、またはOracle CEPがheartbeat
のナノ秒数ごとにハートビートを生成します。
heartbeatの子要素は、プロセッサに送信を行うイベント・チャネルにイベントが到着しない場合のみ、システムがタイムスタンプを付けた関係またはストリームに適用されます。プロセッサは、時間ベースのウィンドウや期間のパターン照合などの、一時的な演算子をいくつか含むステートメントを用いて構成されています。
この要素を使用すると、HTTPパブリッシュ/サブスクライブ・サーバー・アダプタを定義できます。
詳細は、第8章「HTTPパブリッシュ/サブスクライブ・サーバー・アダプタの構成」を参照してください。
次の例はコンポーネント構成ファイル内のhttp-pub-sub-adapter
要素の使用方法を示します。
<http-pub-sub-adapter> <name>remotePub</name> <server-url>http://localhost:9002/pubsub</server-url> <channel>/test1</channel> <event-type>com.bea.wlevs.tests.httppubsub.PubsubTestEvent</event-type> <user>wlevs</user> <password>wlevs</password> </http-pub-sub-adapter>
この例ではadapterの一意の識別子はremotePub
です。
この要素を使用するとキャッシュ・エントリが能動的にキャッシュから削除される前にキャッシュ・エントリがアクセスされない時間をミリ秒数で定義できます。デフォルトではidle-timeは設定されていません。この要素は動的に変更されます。
次の例はコンポーネント構成ファイル内のidle-time
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-none/> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この要素を使用するとJMSアダプタ・コンポーネントを定義できます。
詳細は、第7章「JMSアダプタの構成」を参照してください。
次の例はコンポーネント構成ファイル内のjms-adapter
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <jndi-provider-url>t3://localhost:7001</jndi-provider-url> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>false</session-transacted> </jms-adapter>
この例ではadapterの一意の識別子はjmsInbound-text
です。
このオプション要素を使用するとjms-adapter
のJNDIファクトリを定義できます。JNDIファクトリ名。Oracle CEPサーバーJMSのデフォルト値はweblogic.jndi.WLInitialContextFactory
です。
次の例はコンポーネント構成ファイル内のjndi-provider-url
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <jndi-factory>weblogic.jndi.WLInitialContextFactory</jndi-factory> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>false</session-transacted> </jms-adapter>
この必須要素を使用するとjms-adapter
のJNDIプロバイダURLを定義できます。
次の例はコンポーネント構成ファイル内のjndi-provider-url
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <jndi-provider-url>t3://localhost:7001</jndi-provider-url> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>false</session-transacted> </jms-adapter>
この要素を使用するとキャッシュ・リスナーの動作を定義できます。
listeners
要素にはwork-manager-name
という単一の子要素があり、これが非同期的なリスナーの起動に使用されるワーク・マネージャを指定します。この値は、同期的起動が有効化されている場合は無視されます。ワーク・マネージャがキャッシュそのものに指定されている場合、この値はリスナーのみを起動するためにオーバーライドします。
次の例はコンポーネント構成ファイル内のlisteners
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <batch-size>100</batch-size> <buffer-size>100</buffer-size> <buffer-write-attempts>100</buffer-write-attempts> <buffer-write-timeout>100</buffer-write-timeout> </write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この要素を使用すると診断プロファイルにおいてthroughput
要素の位置を定義できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のlocation
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <throughput> <throughput-interval> <amount>100000</amount> <unit>MICROSECONDS</unit> </throughput-interval> <average-interval> <amount>100000000</amount> <unit>NANOSECONDS</unit> </average-interval> <location> <application>diagnostic</application> <stage>AlertEventStream</stage> <direction>INBOUND</direction> </location> </throughput> </profile> </diagnostic-profiles>
この要素を使用すると診断プロファイルの最大待機時間計算を定義できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のmax-latency
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
channel
またはstream
:max-size
の子要素を使用するとチャネルの最大サイズを指定できます。サイズがゼロのチャネルは同期的にイベントを受け渡します。サイズがゼロでないチャネルはイベントを非同期的に処理し、要求されたサイズに従ってイベントをバッファリングします。max-threads
がゼロの場合、max-size
はゼロになります。デフォルト値は0です。
cache
:max-size
要素を使用すると削除またはページングが発生した後のメモリー内のキャッシュ要素数を定義できます。現状では最大キャッシュサイズは2^31-1エントリです。この要素は動的に変更されます。
この要素を使用するとOracle CEPサーバーがchannel
またはstream
のイベントを処理するために使用するスレッドの最大数を定義できます。デフォルト値は0です。
0に指定する場合、チャネルは受渡しのように機能します。max-threads > 0
の場合、チャネルは従来のブロッキング・キューのように機能し、アップストリーム・コンポーネントがイベントのプロデューサ、ダウンストリーム・コンポーネントがイベントのコンシューマになります。キューのサイズはmax-sizeの構成によって定義されます。キューからイベントを消費するスレッドは最大でmax-threads
の数までとなります。
max-threads
は再デプロイせずに0から正の整数(つまり、パス・スルーから複数のスレッド)まで変更することができます。ただし、max-threads
を正の整数から0に変更する場合(つまり、複数のスレッドからパス・スルーに変更する場合)、アプリケーションを再デプロイする必要があります。
max-size
属性が0の場合は、max-threads
の値の設定には影響がありません。
この属性のデフォルト値は0です。
max-size
が0の場合は、この値の設定に影響はありません。
この必須要素を使用するとjms-adapter
でメッセージをフィルタするのに使用するJMSメッセージ・セレクタを定義できます。
メッセージ・セレクタ式の構文はSQL92の条件式構文、メッセージ・ヘッダー、およびプロパティのサブセットに基づきます。たとえば、EventType
プロパティに基づいたメッセージを選択するには次を使用します。
EventType = 'News' OR 'Commentary'
次の例はコンポーネント構成ファイル内のmessage-selector
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <connection-jndi-name>weblogic.jms.ConnectionFactory</connection-jndi-name> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <message-selector>EventType = 'News' OR 'Commentary'</message-selector> <session-transacted>false</session-transacted> </jms-adapter>
adapter
、http-pub-sub-adapter
、jms-adapter
、processor (EPL)
、processor (Oracle CQL)
、stream
、channel
、event-bean
、caching-system
、およびcoherence-caching-system
:name
要素を使用するとこのアプリケーションの構成要素をEPNアセンブリ・ファイル内の対応する要素に関連付けることができます。有効な値は対応するEPNアセンブリ・ファイル要素のid
属性です。
diagnostic-profiles
:name
要素を使用するとdiagnostic-profiles
要素およびそのprofile
子要素のそれぞれを一意で識別できます。
parameter
:name
要素を使用するとname/valueペアの名前を定義できます。
このparam要素を使用して、メッセージ・セレクタ値をmessage-selector
要素で指定されたパラメータ名と関連付けます。
詳細は、D.11項「bindings (jms-adapter)」を参照してください。
次の例はコンポーネント構成ファイル内のparam
要素の使用方法を示します。
<jms-adapter> <name>JMSInboundAdapter</name> <event-type>StockTick</event-type> <jndi-provider-url>t3://ppurich-pc:7001</jndi-provider-url> <destination-jndi-name>./Topic1</destination-jndi-name> <user>weblogic</user> <password>weblogic1</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>true</session-transacted> <message-selector>${CONDITION}</message-selector> <bindings> <group-binding group-id="ActiveActiveGroupBean_group1"> <param id="CONDITION">acctid > 400</param> </group-binding> <group-binding group-id="ActiveActiveGroupBean_group2"> <param id="CONDITION">acctid BETWEEN 301 AND 400</param> </group-binding> <group-binding group-id="ActiveActiveGroupBean_group3"> <param id="CONDITION">acctid BETWEEN 201 AND 300</param> </group-binding> <group-binding group-id="ActiveActiveGroupBean_group4"> <param id="CONDITION">acctid <= 200</param> </group-binding> </bindings> </jms-adapter>
この構成では、ActiveActiveGroupBean_group1
を含むcluster
要素、groups
子要素でアプリケーションをOracle CEPサーバーにデプロイすると、CONDITION
パラメータがacctid > 400
と定義され、acctid
プロパティが400以上であるイベントがアプリケーションにより処理されます。
この要素を使用するとコンポーネントのname/valueパラメータを定義できます。
次の例はコンポーネント構成ファイル内のparameter
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用するとbinding
要素のパラメータを定義できます。
この要素の値は単純型の値のカンマ区切りリストです。値の順序はこのbinding
に関連するEPLルールにおけるパラメータの順序に対応している必要があります。
詳細は、次を参照してください:
『Oracle Complex Event Processing CQL言語リファレンス』のパラメータ化された問合せに関する項
Oracle Complex Event ProcessingEPL言語リファレンスのパラメータ化された問合せに関する項
次の例はコンポーネント構成ファイル内のparams
要素の使用方法を示します。
<processor> <name>processor1</name> <record-parameters> <dataset-name>test1data</dataset-name> <event-type-list> <event-type>SimpleEvent</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters> <rules> <rule id="rule1"><![CDATA[ select stockSymbol, avg(price) as percentage from StockTick retain 5 events where stockSymbol=? having avg(price) > ? or avg(price) < ? ]]></rule> </rules> <bindings> <binding id="rule1"> <params>BEAS,10.0,-10.0</params> <params id="IBM">IBM,5.0,5.0</params> </binding> </bindings> </processor>
http-pub-sub-adapter
:password
要素を使用するとOracle CEPアプリケーションがパブリッシュする対象となるHTTPパブリッシュ/サブスクライブ・サーバーがユーザー認証を要求する場合にユーザー・パスワードを定義できます。
jms-adapter
:Oracle CEPがJNDI InitialContext
を取得するときuser
およびpassword
(またはencrypted-password
)要素を使用します。Oracle CEPが、JMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory
上でcreateConnection
メソッドをコールするときconnection-user
およびconnection-password
を使用し、また構成済の場合は(connection-encrypted-password
要素)を使用します。それ以外の場合はOracle CEPはuser
およびpassword
(またはencrypted-password
)要素を使用します。
encrypted-password
またはpassword
のいずれかを使用します。ただし、両方を使用することはできません。
次の例はコンポーネント構成ファイル内のpassword
要素の使用方法を示します。
<http-pub-sub-adapter> <name>remotePub</name> <server-url>http://localhost:9002/pubsub</server-url> <channel>/test1</channel> <event-type>com.bea.wlevs.tests.httppubsub.PubsubTestEvent</event-type> <user>wlevs</user> <password>wlevs</password> </http-pub-sub-adapter>
この要素を使用するとコンポーネントのイベント再生パラメータを定義できます。
詳細は、第13章「イベント・レコードと再生の構成」を参照してください。
この要素を使用すると正の浮動小数点として再生速度を定義できます。デフォルト値は1で、これが通常速度に対応しています。値が2の場合、イベントは元の記録速度の2倍の速さで再生されます。同様に値が0.5ならイベントは半分の速度で再生されます。
次の例はコンポーネント構成ファイル内のduration
要素の使用方法を示します。
<playback-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <time-range-offset> <start>2010-01-20T05:00:00</start> <duration>03:00:00</duration> </time-range-offset> <playback-speed>100</playback-speed> </playback-parameters>
この要素を使用するとOracle CQLまたはEPLプロセッサ・コンポーネントを定義できます。
詳細は、第11章「EPLプロセッサの構成」を参照してください。
Oracle CQLプロセッサのプロセッサ要素に関する詳細は、processor (Oracle CQL)
を参照してください。
次の例はコンポーネント構成ファイル内のprocessor
要素の使用方法を示します。
<processor> <name>processor1</name> <record-parameters> <dataset-name>test1data</dataset-name> <event-type-list> <event-type>SimpleEvent</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters> <rules> <rule id="rule1"><![CDATA[ select stockSymbol, avg(price) as percentage from StockTick retain 5 events where stockSymbol=? having avg(price) > ? or avg(price) < ? ]]></rule> </rules> <bindings> <binding id="rule1"> <params>BEAS,10.0,-10.0</params> <params id="IBM">IBM,5.0,5.0</params> </binding> </bindings> </processor>
この例ではprocessorの一意の識別子はprocessor1
です。
この要素を使用するとOracle CQLプロセッサ・コンポーネントを定義できます。
詳細は、第10章「Oracle CQLプロセッサの構成」を参照してください。
EPLプロセッサのprocessor
要素に関する詳細は、processor (EPL)
を参照してください。
次の例はコンポーネント構成ファイル内のprocessor
要素の使用方法を示します。
<processor> <name>cqlProcessor</name> <rules> <view id="lastEvents" schema="cusip bid srcId bidQty ask askQty seq"><![CDATA[ select cusip, bid, srcId, bidQty, ask, askQty, seq from inputChannel[partition by srcId, cusip rows 1] ]]></view> <view id="bidask" schema="cusip bid ask"><![CDATA[ select cusip, max(bid), min(ask) from lastEvents group by cusip ]]></view> <view ...><![CDATA[ ... ]]></view> ... <view id="MAXBIDMINASK" schema="cusip bidseq bidSrcId bid askseq askSrcId ask bidQty askQty"><![CDATA[ select bid.cusip, bid.seq, bid.srcId as bidSrcId, bid.bid, ask.seq, ask.srcId as askSrcId, ask.ask, bid.bidQty, ask.askQty from BIDMAX as bid, ASKMIN as ask where bid.cusip = ask.cusip ]]></view> <query id="BBAQuery"><![CDATA[ ISTREAM(select bba.cusip, bba.bidseq, bba.bidSrcId, bba.bid, bba.askseq, bba.askSrcId, bba.ask, bba.bidQty, bba.askQty, "BBAStrategy" as intermediateStrategy, p.seq as correlationId, 1 as priority from MAXBIDMINASK as bba, inputChannel[rows 1] as p where bba.cusip = p.cusip) ]]></query> <query id="MarketRule"><![CDATA[ SELECT symbol, AVG(price) AS average, :1 AS market FROM StockTick [RANGE 5 SECONDS] WHERE symbol = :2 ]]></query> </rules> <bindings> <binding id="MarketRule"> <params id="nasORCL">NASDAQ, ORCL</params> <params id="nyJPM">NYSE, JPM</params> <params id="nyWFC">NYSE, WFC</params> </binding> </bindings> </processor>
この例ではprocessorの一意の識別子はcqlProcessor
です。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のprofile
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> <average-latency> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> <threshhold> <amount>100</amount> <unit>MILLISECONDS</unit> </threshhold> </average-latency> <throughput> <throughput-interval> <amount>100000</amount> <unit>MICROSECONDS</unit> </throughput-interval> <average-interval> <amount>100000000</amount> <unit>NANOSECONDS</unit> </average-interval> <location> <application>diagnostic</application> <stage>AlertEventStream</stage> <direction>INBOUND</direction> </location> </throughput> </profile> </diagnostic-profiles>
netio
:provider-name
要素を使用すると基礎となるソケット実装にどのプロバイダを使用するか定義できます。有効な値はOracle CEPサーバーのconfig.xml
ファイルのnetio
子要素のprovider-type
です。
record-parameters
:provider-name
要素を使用するとイベント・ストア・プロバイダの名前を定義できます。この要素の値は、Oracle CEPサーバー・インスタンスのconfig.xml
ファイル内のrdbms-event-store-provider
要素のname
子要素に対応している必要があります。
Oracle RDBMSベースのプロバイダを構成する場合は、この要素を指定する必要があります。
これはデフォルトのBerkeleyデータベース・プロバイダを使用するように構成するために空白のままにします。
この要素を使用するとコンポーネントのOracle CQL問合せを定義できます。
詳細は、第10章「Oracle CQLプロセッサの構成」を参照してください。
次の例はコンポーネント構成ファイル内のquery
要素の使用方法を示します。
<processor> <name>cqlProcessor</name> <rules> <view id="lastEvents" schema="cusip bid srcId bidQty ask askQty seq"><![CDATA[ select cusip, bid, srcId, bidQty, ask, askQty, seq from inputChannel[partition by srcId, cusip rows 1] ]]></view> <view id="bidask" schema="cusip bid ask"><![CDATA[ select cusip, max(bid), min(ask) from lastEvents group by cusip ]]></view> <view ...><![CDATA[ ... ]]></view> ... <view id="MAXBIDMINASK" schema="cusip bidseq bidSrcId bid askseq askSrcId ask bidQty askQty"><![CDATA[ select bid.cusip, bid.seq, bid.srcId as bidSrcId, bid.bid, ask.seq, ask.srcId as askSrcId, ask.ask, bid.bidQty, ask.askQty from BIDMAX as bid, ASKMIN as ask where bid.cusip = ask.cusip ]]></view> <query id="BBAQuery"><![CDATA[ ISTREAM(select bba.cusip, bba.bidseq, bba.bidSrcId, bba.bid, bba.askseq, bba.askSrcId, bba.ask, bba.bidQty, bba.askQty, "BBAStrategy" as intermediateStrategy, p.seq as correlationId, 1 as priority from MAXBIDMINASK as bba, inputChannel[rows 1] as p where bba.cusip = p.cusip) ]]></query> </rules> </processor>
この要素を使用するとコンポーネントのイベント・レコード・パラメータを定義できます。
詳細は、第13章「イベント・レコードと再生の構成」を参照してください。
次の例はコンポーネント構成ファイル内のrecord-parameters
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用するとplayback-parametersを繰り返すかどうかを定義できます。
有効な値:
true
false
次の例はコンポーネント構成ファイル内のduration
要素の使用方法を示します。
<playback-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <time-range-offset> <start>2010-01-20T05:00:00</start> <duration>03:00:00</duration> </time-range-offset> <repeat>true</repeat> </playback-parameters>
この要素を使用するとコンポーネントのEPLルールを定義できます。
この要素はrules
要素内でのみ適用できます。
この要素を使用すると1つ以上のOracle CQL問合せ、processor (Oracle CQL)
のビュー、またはprocessor (EPL)
のEPLルールを定義できます。
次の例はコンポーネント構成ファイル内のrules
要素の使用方法を示します。
<processor> <name>cqlProcessor</name> <rules> <view id="lastEvents" schema="cusip bid srcId bidQty ask askQty seq"><![CDATA[ select cusip, bid, srcId, bidQty, ask, askQty, seq from inputChannel[partition by srcId, cusip rows 1] ]]></view> <view id="bidask" schema="cusip bid ask"><![CDATA[ select cusip, max(bid), min(ask) from lastEvents group by cusip ]]></view> <view ...><![CDATA[ ... ]]></view> ... <view id="MAXBIDMINASK" schema="cusip bidseq bidSrcId bid askseq askSrcId ask bidQty askQty"><![CDATA[ select bid.cusip, bid.seq, bid.srcId as bidSrcId, bid.bid, ask.seq, ask.srcId as askSrcId, ask.ask, bid.bidQty, ask.askQty from BIDMAX as bid, ASKMIN as ask where bid.cusip = ask.cusip ]]></view> <query id="BBAQuery"><![CDATA[ ISTREAM(select bba.cusip, bba.bidseq, bba.bidSrcId, bba.bid, bba.askseq, bba.askSrcId, bba.ask, bba.bidQty, bba.askQty, "BBAStrategy" as intermediateStrategy, p.seq as correlationId, 1 as priority from MAXBIDMINASK as bba, inputChannel[rows 1] as p where bba.cusip = p.cusip) ]]></query> </rules> </processor>
この要素を使用するとイベントがステージに再生される期間を指定できます。再生は指定した開始時間に始まり、すべてのイベントが再生されるか、または指定した終了時間まで継続されます。repeat
がtrue
に設定されている場合、再生は指定した終了時間またはユーザーが明らかに再生を中断するまで継続します。
この要素はplayback-parameters
要素内でのみ適用できます。
次の例はコンポーネント構成ファイル内のschedule-time-range
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <schedule-time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </schedule-time-range> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用するとイベントがステージに再生される期間を指定できます。再生は指定した開始時間に始まり、すべてのイベントが再生されるか、または指定した終了時間まで継続されます。repeat
がtrue
に設定されている場合、再生は指定した終了時間またはユーザーが明らかに再生を中断するまで継続します。
この要素はplayback-parameters
要素内でのみ適用できます。
次の例はコンポーネント構成ファイル内のschedule-time-range-offset
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <schedule-time-range-offset> <start>2010-01-20T05:00:00</start> <duration>03:00:00</duration> </schedule-time-range-offset> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用するとどのアップストリームOracle CQLプロセッサの問合せがダウンストリームchannel
に結果を出力することを許可されるかを指定できます。
図D-1はアップストリームOracle CQLプロセッサfilteredFanoutProcessor
に接続されたチャネルfilteredStream
を備えたEPNを示します。
例D-12は、Oracle CQLプロセッサに構成された問合せを示します。
例D-12 filterFanoutProcessor Oracle CQL問合せ
<processor> <name>filterFanoutProcessor</name> <rules> <query id="Yr3Sector"><![CDATA[ select cusip, bid, srcId, bidQty, ask, askQty, seq from priceStream where sector="3_YEAR" ]]></query> <query id="Yr2Sector"><![CDATA[ select cusip, bid, srcId, bidQty, ask, askQty, seq from priceStream where sector="2_YEAR" ]]></query> <query id="Yr1Sector"><![CDATA[ select cusip, bid, srcId, bidQty, ask, askQty, seq from priceStream where sector="1_YEAR" ]]></query> </rules> </processor>
例D-12に示すようにOracle CQLプロセッサに1つ以上の問合せを指定する場合、デフォルトではすべての問合せ結果がプロセッサのアウトバウンド・チャネルに出力されます(図D-1のfilteredStream
)。オプションでコンポーネント構成ソースでchannel
要素のselector
子要素を使用し、例D-13が示すようにチャネルに結果を出力する1つ以上のOracle CQL問合せ名のスペース区切りのリストを指定できます。この例では問合せYr3Sector
およびYr2Sector
の問合せ結果はfilteredStream
に出力されますが、問合せYr1Sector
の問合せ結果は出力されません。
例D-13 どの問合せ結果を出力するか制御するためのselectorの使用
<channel> <name>filteredStream</name> <selector>Yr3Sector Yr2Sector</selector> </channel>
アップストリーム・プロセッサに問合せを作成する前に、selector
でchannel
要素を構成することもできます。この場合、selector
内の名前と一致する問合せ名を指定する必要があります。
次の例はコンポーネント構成ファイル内のselector
要素の使用方法を示します。
<processor> <name>PatternProcessor</name> <rules> <query id="match"><![CDATA[ select T.firstW as firstw, T.lastZ as lastz, T.price as price from StockInputsStream MATCH_RECOGNIZE ( MEASURES A.c1 as firstW, last(Z.c1) as lastZ, A.c2 as price PATTERN(A W+ X+ Y+ Z+) DEFINE A as A.c1 = A.c1, W as W.c2 < prev(W.c2), X as X.c2 > prev(X.c2), Y as Y.c2 < prev(Y.c2), Z as Z.c2 > prev(Z.c2)) as T ]]></query> <query id="stock"><![CDATA[ select c1 as ts, c2 as price from StockInputsStream ]]></query> </rules> </processor> <channel> <name>StockOutputChannel</name> <selector>stock</selector> </channel> <channel> <name>MatchOutputChannel</name> <selector>match</selector> </channel>
必須。パブリッシュする各ローカルhttp-pub-sub-adapter
に対して、現在Oracle CEPアプリケーションをホストしているOracle CEPインスタンスに関連付けられているローカルHTTPパブリッシュ・サブスクライブ・サーバーの、Oracle CEPサーバーconfig.xml
ファイル要素http-pubsub
、子要素path
を指定します。
デフォルト: /pubsub
新たにローカルHTTPパブリッシュ・サブスクライブ・サーバーを作成、またはデフォルトの構成を変更した場合は、該当するpath
子要素の値を指定します。
注意: このオプションはリモートHTTPパブリッシュ・サブスクライブ・アダプタには指定しないでください。 |
必須。パブリッシュまたはサブスクライブする各リモートhttp-pub-sub-adapter
に対して、Oracle CEPアプリケーションからのパブリッシュ先であるリモートHTTPパブリッシュ・サブスクライブ・サーバーのURLを指定します。リモートHTTPパブリッシュ・サブスクライブ・サーバーには、Oracle CEPの別のインスタンス、WebLogic Serverインスタンス、または任意のサード・パーティHTTPパブリッシュ・サブスクライブ・サーバーを指定できます。この例は次のとおりです。
http://myhost.com:9102/pubsub
注意: このオプションはローカルHTTPパブリッシュ・サブスクライブ・アダプタには指定しないでください。 |
次の例はコンポーネント構成ファイル内のserver-url
要素の使用方法を示します。
<http-pub-sub-adapter> <name>remotePub</name> <server-url>http://myhost.com:9102/pubsub</server-url> <channel>/test1</channel> <event-type>com.bea.wlevs.tests.httppubsub.PubsubTestEvent</event-type> <user>wlevs</user> <password>wlevs</password> </http-pub-sub-adapter>
この例ではremotePublisher
アダプタがイベントをパブリッシュする対象のリモートHTTPパブリッシュ/サブスクライブ・サーバーのURLはhttp://myhost.com:9102/pubsub
となります。
この要素を使用するとjms-adapterのセッション確認モードを定義できます。
javax.jms.Session
からの有効な値。
AUTO_ACKNOWLEDGE
: この確認モードを使用するとセッションが受信コールから正常に戻された場合か、またはセッションがメッセージ処理のためにコールしたメッセージ・リスナーが正常に戻る場合のいずれでもセッションは自動的にクライアントがメッセージを受信したことを確認します。
CLIENT_ACKNOWLEDG
: この確認モードを使用するとメッセージの確認メソッドをコールすることによって、クライアントは消費されたメッセージを確認します。
DUPS_OK_ACKNOWLEDGE
: この確認モードはセッションにメッセージ送信の確認を遅延するように命令します。
デフォルト: AUTO_ACKNOWLEDGE
次の例はコンポーネント構成ファイル内のsession-ack-mode-name
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <connection-jndi-name>weblogic.jms.ConnectionFactory</connection-jndi-name> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <session-ack-mode-name>AUTO_ACKNOWLEDGE</session-ack-mode-name> <session-transacted>false</session-transacted> </jms-adapter>
この要素を使用するとセッションをインバウンドまたはアウトバウンドのjms-adapter
用に処理するかどうかを定義できます。
有効な値:
true
false
次の例はコンポーネント構成ファイル内のsession-transacted
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <connection-jndi-name>weblogic.jms.ConnectionFactory</connection-jndi-name> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <session-ack-mode-name>AUTO_ACKNOWLEDGE</session-ack-mode-name> <session-transacted>false</session-transacted> </jms-adapter>
この要素を使用すると診断プロファイルのstart-location
またはend-location
のステージを定義できます。
有効な値はイベント処理ネットワーク( EPN )における既存ステージ名です。詳細は、1.1.1項「Oracle CEPイベント処理ネットワークの構成」を参照してください。
次の例はコンポーネント構成ファイル内のstage
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <collect-interval> <amount>1000</amount> <unit>s</unit> </collect-interval> <name>testProfile0MaxLat</name> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
この要素を使用するとtime-range
、time-range-offset
、またはschedule-time-range-offset
要素の開始時間を定義できます。
開始時間を次のXMLスキーマのdateTime
値の形式として表します。
yyyy-mm-ddThh:mm:ss
たとえば、開始を2010年1月20日午前5時、終了を2010年1月20日午後6時に指定するには、次のように入力します。
<time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range>
XMLスキーマのdateTime
形式の完全な詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representation
を参照してください。
次の例はコンポーネント構成ファイル内のstart
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用すると診断プロファイルの開始位置を定義できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のstart-location
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <collect-interval> <amount>1000</amount> <unit>s</unit> </collect-interval> <name>testProfile0MaxLat</name> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
この要素を使用すると診断プロファイルの開始ステージを定義できます。
有効な値はイベント処理ネットワーク( EPN )における既存ステージ名です。詳細は、1.1.1項「Oracle CEPイベント処理ネットワークの構成」を参照してください。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のstart-stage
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
この要素を使用するとイベント・ストア・プロバイダ専用の1つ以上のストア・ポリシー・パラメータを定義できます。
次の例はコンポーネント構成ファイル内のstore-policy-parameter
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用するとストリーム・コンポーネントを定義できます。
注意: stream コンポーネントは11g リリース1(11.1.1)で非推奨されます。channel要素をかわりに使用します。 |
この要素を使用するとadapter
、http-pub-sub-adapter
、またはjms-adapter
要素のシンボルを定義できます。
注意: symbol コンポーネントは11g リリース1(11.1.1)で非推奨されます。 |
この要素を使用するとOracle CEPサーバーがログを記録する監視イベントのしきい値を定義できます。
この要素は診断プロファイルのaverage-latency
内でのみ適用できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のthreshhold
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <average-latency> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> <threshhold> <amount>100</amount> <unit>MILLISECONDS</unit> </threshhold> </average-latency> </profile> </diagnostic-profiles>
この要素を使用すると診断プロファイルのスループットを定義できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のthroughput
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <throughput> <throughput-interval> <amount>100000</amount> <unit>MICROSECONDS</unit> </throughput-interval> <average-interval> <amount>100000000</amount> <unit>NANOSECONDS</unit> </average-interval> <location> <application>diagnostic</application> <stage>AlertEventStream</stage> <direction>INBOUND</direction> </location> </throughput> </profile> </diagnostic-profiles>
この要素を使用すると診断プロファイルのスループット間隔を定義できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
次の例はコンポーネント構成ファイル内のthroughput-interval
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <throughput> <throughput-interval> <amount>100000</amount> <unit>MICROSECONDS</unit> </throughput-interval> <average-interval> <amount>100000000</amount> <unit>NANOSECONDS</unit> </average-interval> <location> <application>diagnostic</application> <stage>AlertEventStream</stage> <direction>INBOUND</direction> </location> </throughput> </profile> </diagnostic-profiles>
この要素を使用するとOracle CEPサーバーがイベント・ストアでイベントに適用するフィルタを定義できます。この時間範囲内のrecord-timeを持つイベントのみステージに再生されます。
time-range-offset
またはtime-range
のいずれかを使用します。ただし、両方を使用することはできません。
詳細は、第13章「イベント・レコードと再生の構成」を参照してください。
次の例はコンポーネント構成ファイル内のtime-range
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用するとOracle CEPサーバーがイベント・ストアでイベントに適用するフィルタを定義できます。この時間範囲内のrecord-timeを持つイベントのみステージに再生されます。
time-range
またはtime-range-offset
のいずれかを使用します。ただし、両方を使用することはできません。
詳細は、第13章「イベント・レコードと再生の構成」を参照してください。
次の例はコンポーネント構成ファイル内のtime-range-offset
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <time-range-offset> <start>2010-01-20T05:00:00</start> <duration>03:00:00</duration> </time-range-offset> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用するとエントリがキャッシュされる時間の最大数をミリ秒で定義できます。デフォルト値は無限大です。
詳細は、12.2項「Oracle CEPローカル・キャッシュ・システムおよびキャッシュの構成」を参照してください。
次の例はコンポーネント構成ファイル内の存続時間
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-none/> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この要素を使用するとamount
要素の期間の単位を定義できます。
有効な値:
NANOSECONDS
MICROSECONDS
MILLISECONDS
SECONDS
MINUTES
HOURS
DAYS
次の例はコンポーネント構成ファイル内のunit
要素の使用方法を示します。
<diagnostic-profiles> <name>myselfprofiles</name> <profile> <name>testProfile0</name> <enabled>true</enabled> <start-stage>MetricSubscriber</start-stage> <max-latency> <collect-interval> <amount>1000</amount> <unit>s</unit> </collect-interval> <name>testProfile0MaxLat</name> <start-location> <application>diagnostic</application> <stage>MetricSubscriber</stage> <direction>INBOUND</direction> </start-location> <end-location> <application>diagnostic</application> <stage>MonitorProcessor</stage> <direction>OUTBOUND</direction> </end-location> </max-latency> </profile> </diagnostic-profiles>
http-pub-sub-adapter:user
要素を使用するとOracle CEPアプリケーションがパブリッシュする対象となるHTTPパブリッシュ/サブスクライブ・サーバーがユーザー認証を要求する場合に、ユーザー名を定義できます。
jms-adapter:Oracle CEPがJNDI InitialContext
を取得するとき、user
およびpassword
(またはencrypted-password
)要素を使用します。Oracle CEPが、JMS宛先( JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory
上でcreateConnection
メソッドをコールするとき、connection-user
およびconnection-password
を使用し、また構成済の場合は( connection-encrypted-password
要素)を使用します。それ以外の場合は、Oracle CEPはuser
およびpassword
(またはencrypted-password
)要素を使用します。
次の例はコンポーネント構成ファイル内のuser
要素の使用方法を示します。
<http-pub-sub-adapter> <name>remotePub</name> <server-url>http://localhost:9002/pubsub</server-url> <channel>/test1</channel> <event-type>com.bea.wlevs.tests.httppubsub.PubsubTestEvent</event-type> <user>wlevs</user> <password>wlevs</password> </http-pub-sub-adapter>
この要素を使用するとparameter
要素の値を定義できます。
次の例はコンポーネント構成ファイル内のvalue
要素の使用方法を示します。
<record-parameters> <dataset-name>tuple1</dataset-name> <event-type-list> <event-type>TupleEvent1</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <store-policy-parameters> <parameter> <name>timeout</name> <value>300</value> <parameter> </store-policy-parameters> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters>
この要素を使用するとコンポーネントのOracle CQLビューを定義できます。
詳細は、第10章「Oracle CQLプロセッサの構成」を参照してください。
次の例はコンポーネント構成ファイル内のview
要素の使用方法を示します。
<processor> <name>cqlProcessor</name> <rules> <view id="lastEvents" schema="cusip bid srcId bidQty ask askQty seq"><![CDATA[ select cusip, bid, srcId, bidQty, ask, askQty, seq from inputChannel[partition by srcId, cusip rows 1] ]]></view> <view id="bidask" schema="cusip bid ask"><![CDATA[ select cusip, max(bid), min(ask) from lastEvents group by cusip ]]></view> <view ...><![CDATA[ ... ]]></view> ... <view id="MAXBIDMINASK" schema="cusip bidseq bidSrcId bid askseq askSrcId ask bidQty askQty"><![CDATA[ select bid.cusip, bid.seq, bid.srcId as bidSrcId, bid.bid, ask.seq, ask.srcId as askSrcId, ask.ask, bid.bidQty, ask.askQty from BIDMAX as bid, ASKMIN as ask where bid.cusip = ask.cusip ]]></view> <query id="BBAQuery"><![CDATA[ ISTREAM(select bba.cusip, bba.bidseq, bba.bidSrcId, bba.bid, bba.askseq, bba.askSrcId, bba.ask, bba.bidQty, bba.askQty, "BBAStrategy" as intermediateStrategy, p.seq as correlationId, 1 as priority from MAXBIDMINASK as bba, inputChannel[rows 1] as p where bba.cusip = p.cusip) ]]></query> </rules> </processor>
この要素を使用するとjms-adapter
のワーク・マネージャ名を定義できます。
有効な値はOracle CEPサーバーのconfig.xml
ファイルのwork-manager
要素のname
子要素で指定される名前です。デフォルト値はアプリケーション自体に構成されたワーク・マネージャです。
詳細は、 F.44項「work-manager」を参照してください。
次の例はコンポーネント構成ファイル内のwork-manager
要素の使用方法を示します。
<jms-adapter> <name>jmsInbound-text</name> <jndi-provider-url>t3://localhost:7001</jndi-provider-url> <destination-name>JMSServer-0/Module1!Queue1</destination-name> <user>weblogic</user> <password>weblogic</password> <work-manager>JettyWorkManager</work-manager> <concurrent-consumers>1</concurrent-consumers> <session-transacted>false</session-transacted> </jms-adapter>
この要素を使用するとcache
のワーク・マネージャを定義できます。
listeners
要素にはwork-manager-name
という単一の子要素があり、これが非同期的なリスナーの起動に使用されるワーク・マネージャを指定します。この値は同期的起動が有効化されている場合は無視されます。ワーク・マネージャがキャッシュそのものに指定されている場合、この値はリスナーのみを起動するためにオーバーライドします。
有効な値はOracle CEPサーバーのconfig.xml
ファイルのwork-manager
要素のname
子要素で指定される名前です。デフォルト値はアプリケーション自体に構成されたワーク・マネージャです。
次の例はコンポーネント構成ファイル内のwork-manager-name
要素の使用方法を示します。
<cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-none/> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache>
この要素を使用するとキャッシュ・ストアへの非同期的な書込みを指定できます。キャッシュ・ストアはキャッシュ・エントリの作成または更新の後で各スレッドから起動されます。この要素は動的に変更されます。
次の例はコンポーネント構成ファイル内のwrite-behind
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <batch-size>100</batch-size> <buffer-size>100</buffer-size> <buffer-write-attempts>100</buffer-write-attempts> <buffer-write-timeout>100</buffer-write-timeout> </write-behind> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この要素を使用するとキャッシュ・ストアへ書込みを行わないように指定できます。これはデフォルトの書込みポリシーです。この要素は動的に変更されます。
次の例はコンポーネント構成ファイル内のwrite-none
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-none/> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>
この要素を使用するとキャッシュ・ストアへの同期的な書込みを指定できます。エントリが作成または更新されると書込みが発生します。この要素は動的に変更されます。
次の例はコンポーネント構成ファイル内のwrite-through
要素の使用方法を示します。
<caching-system> <name>providerCachingSystem</name> <cache> <name>providerCache</name> <max-size>1000</max-size> <eviction-policy>FIFO</eviction-policy> <time-to-live>60000</time-to-live> <idle-time>120000</idle-time> <write-through/> <work-manager-name>JettyWorkManager</work-manager-name> <listeners asynchronous="false"> <work-manager-name>JettyWorkManager</work-manager-name> </listeners> </cache> </caching-system>