| Oracle® Fusion Middleware Oracle Event Processing開発者ガイド 11gリリース1 (11.1.1.7) for Eclipse B61654-06 |
|
![]() 前 |
![]() 次 |
この付録では、アダプタ、チャネル、キャッシュ・システムおよびイベントBeanなどのOracle Event Processingのアプリケーション・コンポーネントを構成するのに使用するXMLファイルの背後にあるスキーマである、wlevs_application_config.xsdスキーマの要素へのリファレンスを示します。
この付録の内容は次のとおりです。
Oracle Event ProcessingはEPNアセンブリ・ファイルで宣言するコンポーネントの特性を定義するために使用する多数のコンポーネント構成要素を提供します。
最上位レベルのOracle Event Processingコンポーネント構成要素は次の階層で構成されます。
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 destination-type durable-subscription durable-subscription-name
例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 inject-parameters trace-parameters max-size max-threads selector heartbeat partition-order-capacity offer-timeout fail-when-rejected
例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 threshold throughput name throughput-interval amount unit average-interval amount unit location application stage direction
次に示すサンプルのコンポーネント構成ファイルはHellowWorldアプリケーションのものであり、様々なOracle Event Processing要素の使用方法を示しています。
<?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>
イベント・トレースまたはイベント・インジェクションをオンにすることを指定するには、この要素をtrueに指定します。デフォルトはtrueです。
active要素の値がfalseの場合、channel-name値は無視されます。
イベント・トレースおよびイベント・インジェクションの詳細は、次を参照してください。
次の例に示すコンポーネント構成の一部は、イベント・トレース用にプロセッサを構成する方法を示しています。trace-parameters要素のactive子要素はトレースをオンにすることを指定し、channel-name要素はトレースされる要素の送信先のHTTPパブリッシュ・サブスクライブ(HTTP pub-sub)チャネルを指定します。
<processor>
<name>FindCrossRates</name>
<trace-parameters>
<active>true</active>
<channel-name>/NonClusteredServer/fx/FindCrossRates/output</channel-name>
</trace-parameters>
<rules>
<!-- Query rules omitted. -->
</rules>
</processor>
この要素を使用すると、カスタム・アダプタ・コンポーネントを定義できます。HTTPパブリッシュ・サブスクライバまたはJMSアダプタでは、特定のhttp-pub-sub-adapterおよびjms-adapter要素を使用します。
詳細は、第15章「カスタム・アダプタを使用した外部コンポーネントの統合」を参照してください。
この要素を使用すると、診断プロファイルの期間を定義できます。この要素は、次の要素のいずれかに適用できます。
詳細は、『Oracle Fusion Middleware Oracle 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 Event Processingサーバーが外部ステージに適用するアプリケーションのタイプを定義するためにこの要素を使用します。診断プロファイルでは、この要素は常にdiagnosticの値を持ちます。
詳細は、『Oracle Fusion Middleware Oracle 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 Fusion Middleware Oracle 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 Fusion Middleware Oracle 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 Fusion Middleware Oracle Event Processing CQL言語リファレンス』のパラメータ化された問合せに関する項
『Oracle Fusion Middleware Oracle Event Processing EPL言語リファレンス』のパラメータ化された問合せに関する項
次の例は、コンポーネント構成ファイル内の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 Event Processingアプリケーションの受信JMSストリームをパーティション化できます。
この要素を使用して、通知グループを特定のmessage-selector値と関連付けます。
詳細は、25.1.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 Event Processingサーバーにデプロイすると、CONDITIONパラメータがacctid > 400と定義され、acctidプロパティが400以上であるイベントがアプリケーションにより処理されます。
この要素を使用すると、プロセッサ・コンポーネントにおいて1つ以上のパラメータ化されたOracle CQLまたはEPLルールのバインドを定義できます。
詳細は、次を参照してください:
『Oracle Fusion Middleware Oracle Event Processing CQL言語リファレンス』のパラメータ化された問合せに関する項
『Oracle Fusion Middleware Oracle Event Processing EPL言語リファレンス』のパラメータ化された問合せに関する項
次の例は、コンポーネント構成ファイル内の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 Event Processingアプリケーションの全体のパフォーマンスを向上するために排他的に作成されます。アプリケーションが正常に機能するためには必要ありません。Oracle Event Processingアプリケーションはオプションでイベントをキャッシュにパブリッシュしたりキャッシュから消費したりして、イベントの可用性およびアプリケーションのパフォーマンスを向上させることができます。
詳細は、13.3項「Oracle Event Processingローカル・キャッシュ・システムおよびキャッシュの構成」を参照してください。
次の例はコンポーネント構成ファイル内の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 Event Processingローカル・キャッシュ・システム・コンポーネントを定義できます。キャッシュ・システムとは、キャッシュ実装の構成されたインスタンスです。キャッシュ・システムは構成されたキャッシュの名前付きセットを定義すると共に任意のキャッシュが複数のマシンに渡って配信される場合、リモート通信用の構成を定義します。
詳細は、13.5.3項「イベント・リスナーとしてのキャッシュの構成」を参照してください。
次の例はコンポーネント構成ファイル内の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 Event Processingアプリケーションには1つ以上のチャネル・コンポーネントが含まれます。このコンポーネントはアダプタとプロセッサ間やプロセッサとイベントBean(ビジネス・ロジックPOJO)間のような他のコンポーネント同士をイベントが往来する物理的なパイプを表します。
channel要素を使用するとhttp-pub-sub-adapterがパブリッシュまたはサブスクライブする対象のチャネルを指定できます。いずれのチャネルもローカル/リモートであろうとパブリッシュ用/サブスクライブ用であろうとすべてのhttp-pub-sub-adapterに割り当てられます。
この要素を使用すると、イベントをインジェクトするチャネルまたはトレースされたイベントを送信するチャネルの名前を指定できます。要素の値は、チャネルへのパスにする必要があります。次のデフォルト値のようなで形式で指定します(パスはスラッシュで始まる必要があります)。
イベント・トレースの場合:
/serverID/appID/stageID/output
イベント・インジェクションの場合:
/serverID/appID/stageID/input
active要素の値がfalseの場合、channel-name値は無視されます。
イベント・トレースおよびイベント・インジェクションの詳細は、次を参照してください。
次の例に示すコンポーネント構成の一部は、イベント・トレース用にプロセッサを構成する方法を示しています。trace-parameters要素のactive子要素はトレースをオンにすることを指定し、channel-name要素はトレースされる要素の送信先のHTTPパブリッシュ・サブスクライブ(HTTP pub-sub)チャネルを指定します。
<processor>
<name>FindCrossRates</name>
<trace-parameters>
<active>true</active>
<channel-name>/NonClusteredServer/fx/FindCrossRates/output</channel-name>
</trace-parameters>
<rules>
<!-- Query rules omitted. -->
</rules>
</processor>
この要素を使用するとcoherence-caching-system用のOracle Coherenceキャッシュ構成を定義できます。
詳細は、13.3項「Oracle Event Processingローカル・キャッシュ・システムおよびキャッシュの構成」を参照してください。
この要素を使用すると、Oracle Coherenceキャッシュ・システム・コンポーネントを定義できます。キャッシュ・システムとは、キャッシュ実装の構成されたインスタンスです。キャッシュ・システムは構成されたキャッシュの名前付きセットを定義すると共に任意のキャッシュが複数のマシンに渡って配信される場合、リモート通信用の構成を定義します。
詳細は、13.2項「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 Fusion Middleware Oracle Event Processing管理者ガイド』のOracle Event Processingマルチサーバー・ドメイン管理の概要に関する項を参照してください。
この要素を使用すると診断プロファイルにおいてaverage-latencyまたはmax-latency要素の収集間隔を定義できます。
詳細は、『Oracle Fusion Middleware Oracle 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 Event Processingサーバー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 Event ProcessingがJMSサービス・プロバイダへの接続取得時に使用する暗号化されたjms-adapterパスワードを定義できます。
Oracle Event ProcessingがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory上でcreateConnectionメソッドをコールするときconnection-userおよびconnection-passwordを使用し、また構成済の場合はconnection-encrypted-password要素を使用します。それ以外の場合は、Oracle Event Processingはuserおよびpassword(またはencrypted-password)要素を使用します。
connection-encrypted-passwordまたはconnection-passwordのいずれかを使用します。ただし、両方を使用することはできません。
詳細は、11.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 Event ProcessingがJMSサービス・プロバイダへの接続取得時に使用するjms-adapterパスワードを定義できます。
Oracle Event ProcessingがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory上でcreateConnectionメソッドをコールするときconnection-userおよびconnection-passwordを使用し、また構成済の場合はconnection-encrypted-password要素を使用します。それ以外の場合は、Oracle Event Processingは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 Event ProcessingがJMSサービス・プロバイダへの接続取得時に使用するjms-adapterのユーザー名を定義できます。
Oracle Event ProcessingがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory上でcreateConnectionメソッドをコールするときconnection-userおよびconnection-passwordを使用し、また構成済の場合はconnection-encrypted-password要素を使用します。それ以外の場合は、Oracle Event Processingは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プロセッサ・コンポーネントのデータベース参照を定義できます。
詳細は、第19章「Oracle 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>
この要素を使用すると、jms-adapter用のJMS宛先タイプを定義できます。有効な値はTOPICまたはQUEUEです。durable-subscriptionプロパティがtrueに設定されている場合は常に、このプロパティをTOPICに設定する必要があります。
次の例は、コンポーネント構成ファイル内のdestination-type要素の使用方法を示します。
<jms-adapter>
<name>jmsInbound-text</name>
<connection-jndi-name>weblogic.jms.ConnectionFactory</connection-jndi-name>
<destination-name>JMSServer-0/Module1!Queue1</destination-name>
<destination-type>TOPIC</destination-name>
<durable-subscription>true</durable-subscription>
<durable-subscription-name>JmsDurableSubscription</durable-subscription-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 Event Processing診断プロファイルを定義できます。
詳細は、『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のEPNにおけるステージまたはパスのスループットおよび待機時間の監視に関する項を参照してください。
この要素を使用すると、診断プロファイルのend-location またはstart-locationに関する方向を定義できます。
有効な値:
INBOUND
OUTBOUND
詳細は、『Oracle Fusion Middleware Oracle 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>
この要素を使用すると、jms-adapterのJMSトピック・サブスクリプションが恒久的であるかどうか、つまりサブスクライバが非アクティブになった場合も永続化できるかどうかを指定できます。有効な値は、trueまたはfalseです。このプロパティは、destination-typeがTOPICに設定されている場合にのみ有効です。
次の例は、コンポーネント構成ファイル内のdurable-subscription要素の使用方法を示します。
<jms-adapter>
<name>jmsInbound-text</name>
<connection-jndi-name>weblogic.jms.ConnectionFactory</connection-jndi-name>
<destination-name>JMSServer-0/Module1!Queue1</destination-name>
<destination-type>TOPIC</destination-name>
<durable-subscription>true</durable-subscription>
<durable-subscription-name>JmsDurableSubscription</durable-subscription-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の恒久サブスクリプションを一意に識別するための名前を指定できます。恒久サブスクリプションは、サブスクライバが非アクティブになった場合も永続化できます。
次の例は、コンポーネント構成ファイル内のdurable-subscription-name要素の使用方法を示します。
<jms-adapter>
<name>jmsInbound-text</name>
<connection-jndi-name>weblogic.jms.ConnectionFactory</connection-jndi-name>
<destination-name>JMSServer-0/Module1!Queue1</destination-name>
<destination-type>TOPIC</destination-name>
<durable-subscription>true</durable-subscription>
<durable-subscription-name>JmsDurableSubscription</durable-subscription-name>
<user>weblogic</user>
<password>weblogic</password>
<work-manager>JettyWorkManager</work-manager>
<concurrent-consumers>1</concurrent-consumers>
<session-transacted>false</session-transacted>
</jms-adapter>
この要素を使用すると、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 Fusion Middleware Oracle 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 Event Processingアプリケーションがパブリッシュする対象となるHTTPパブリッシュ/サブスクライブ・サーバーがユーザー認証を要求する場合に暗号化されたパスワードを定義できます。
jms-adapter:Oracle Event ProcessingがJNDI InitialContextを取得するときuserおよびpassword(またはencrypted-password)要素を使用します。Oracle Event ProcessingがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory上でcreateConnectionメソッドをコールするときconnection-userおよびconnection-passwordを使用し、また構成済の場合はconnection-encrypted-password要素を使用します。それ以外の場合は、Oracle Event Processingはuserおよびpassword(またはencrypted-password)要素を使用します。
encrypted-passwordまたはpasswordのいずれかを使用します。ただし、両方を使用することはできません。
詳細は、11.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 Fusion Middleware Oracle 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>
event-type要素は次の親要素で使用します。
パブリッシュ: オプション。パブリッシュ用のローカルおよびリモートの両方のHTTP Pub-Subアダプタについて、パブリッシュされるイベントのタイプを制限するために、JavaBeanイベントの完全修飾クラス名を指定します。指定しない場合、HTTP pub-subアダプタに送信されたすべてのイベントがパブリッシュされます。
サブスクライブ: オプション。サブスクライブ用のローカルおよびリモートの両方のHTTP Pub-Subアダプタについて、着信メッセージがマップされるJavaBeanの完全修飾クラス名を指定します。実行時、Oracle Event Processingはメッセージ内の受信キー/値のペアを使用し、メッセージ・データを指定されたイベント型にマップします。
このクラスをEPNアセンブリ・ファイルにwlevs:event-type-repository要素、wlevs:class子要素として登録する必要があります。詳細は、9.3.1項「JavaBeanとしてのOracle Event Processingイベント・タイプの作成」を参照してください。
jms-adapter: event-type要素を使用すると、プロパティがJMSメッセージのプロパティに一致するイベント型を指定できます。Oracle Event ProcessingにJMSメッセージとイベント間の変換を自動的に行わせる場合のみ、この子要素を指定します。独自のカスタム・コンバータBeanを作成済の場合はこの要素を指定しません。
record-parameters: event-type要素を使用すると、記録するイベントを指定できます。
event-type要素の値はイベント型のリポジトリで定義したいずれかのイベント型にします。詳細は、9.1項「Oracle Event Processingイベント・タイプの概要」を参照してください。
次の例はコンポーネント構成ファイル内の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>
この要素を使用すると、オファー・タイムアウトが発生したときにイベント・キューが一杯の場合、com.bea.wlevs.ede.api.EventProcessingExceptionを生成するかどうかを指定できます。falseに設定すると、または何も設定しないと、例外が生成されるのではなく、イベントが削除されます。この構成は、max-size値が0より大きいイベント・キューにのみ適用されます。デフォルト値はfalseです。
オファー・タイムアウトの設定の詳細は、D.68項「offer-timeout」を参照してください。
JMSインバウンド・アダプタのjms-adapter要素にgroup-binding子要素を追加するために、コンポーネント構成ファイルを編集します。
各可能JMSメッセージ・セレクタ値に対して1つのgroup-binding要素を追加します。
詳細は、D.12項「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 Event Processingサーバーにデプロイすると、CONDITIONパラメータがacctid > 400と定義され、acctidプロパティが400以上であるイベントがアプリケーションにより処理されます。
この要素を使用すると、システムがタイムスタンプを付けたchannelコンポーネントの新規ハートビート・タイムアウトを定義できます。デフォルトでは、タイムアウト値は100ミリ秒または100,000,000ナノ秒です。
システムがタイムスタンプを付けた関係またはストリームでは、時間は、関係またはストリームのソース上のデータの到着に依存します。Oracle Event Processingは、この設定の値を超えてアクションがない場合(ストリームまたは関係のソースにデータが到着しない場合)、システムがタイムスタンプを付けた関係またはストリーム上でハートビートを生成します。関係またはストリームのいずれかがその指定されたソースから移入されるか、またはOracle Event Processingがheartbeatのナノ秒数ごとにハートビートを生成します。
heartbeatの子要素は、プロセッサに送信を行うイベント・チャネルにイベントが到着しない場合のみ、システムがタイムスタンプを付けた関係またはストリームに適用されます。プロセッサは、時間ベースのウィンドウや期間のパターン照合などの、一時的な演算子をいくつか含む文を用いて構成されています。
この要素を使用すると、HTTPパブリッシュ/サブスクライブ・サーバー・アダプタを定義できます。
詳細は、第12章「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>
この要素を使用すると、イベント処理ネットワークのステージにイベント・インジェクションを構成できます。
イベント・インジェクションの詳細は、22.3項「イベントのインジェクト」を参照してください。
次の例に示すコンポーネント構成の一部は、イベント・インジェクション用にプロセッサを構成する方法を示しています。inject-parameters要素のactive子要素はインジェクションをオンにすることを指定し、channel-name要素はインジェクトされる要素の送信先のHTTPパブリッシュ・サブスクライブ(HTTP pub-sub)チャネルを指定します。
<processor>
<name>FindCrossRates</name>
<inject-parameters>
<active>true</active>
<channel-name>/NonClusteredServer/fx/FindCrossRates/input</channel-name>
</inject-parameters>
<rules>
<!-- Query rules omitted. -->
</rules>
</processor>
この要素を使用するとJMSアダプタ・コンポーネントを定義できます。
詳細は、第11章「Java Message Serviceの統合」を参照してください。
次の例はコンポーネント構成ファイル内の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 Event Processingサーバー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 Fusion Middleware Oracle 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 Fusion Middleware Oracle 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>
max-size要素は次の親要素で使用します。
channelまたはstream:max-sizeの子要素を使用するとチャネルの最大サイズを指定できます。サイズがゼロのチャネルは、同期的にイベントを受け渡します。サイズがゼロでないチャネルはイベントを非同期的に処理し、リクエストされたサイズに従ってイベントをバッファリングします。max-threadsがゼロの場合、max-sizeはゼロになります。デフォルト値は0です。
cache:max-size要素を使用すると削除またはページングが発生した後のメモリー内のキャッシュ要素数を定義できます。現状では最大キャッシュサイズは2^31-1エントリです。この要素は動的に変更されます。
この要素を使用するとOracle Event Processingサーバーが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>
name要素は次の親要素で使用します。
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ペアの名前を定義できます。
この要素を使用すると、イベント・キューが一杯で保留中の挿入(「オファー」)がブロックされている場合に、保留中のイベントが削除されるか例外が生成されるまでの時間を指定できます。fail-when-rejected値がtrueに設定されている場合は例外が生成され、それ以外の場合はイベントが削除されます。この設定は、max-size値が0より大きいイベント・キューにのみ適用されます。offer-timeout値はナノ秒で指定する必要があります。デフォルトでは60秒です。
このparam要素を使用して、メッセージ・セレクタ値をmessage-selector要素で指定されたパラメータ名と関連付けます。
詳細は、D.12項「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 Event Processingサーバーにデプロイすると、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 Fusion Middleware Oracle Event Processing CQL言語リファレンス』のパラメータ化された問合せに関する項
『Oracle Fusion Middleware Oracle Event Processing EPL言語リファレンス』のパラメータ化された問合せに関する項
次の例はコンポーネント構成ファイル内の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>
この要素を使用すると、ordering-constraint属性がPARTITION_ORDEREDに設定されている場合に問合せパーティションの最大容量を定義できます。これはchannelコンポーネントに設定します。パラレル実行用の問合せプロセッサが構成されていて、問合せのordering-constraint属性がPARTITION_ORDEREDに設定されている場合に、この要素の値を設定することを検討してください。
この値を設定できる場所(優先順位など)に関するベスト・プラクティスおよび情報などの詳細は、第17章「Oracle CQLでのイベント・ストリームの問合せ」の「問合せのパーティション化でのpartition-order-capacityの使用」を参照してください。
容量の値をより広い範囲に適用するために、サーバー構成ファイル内にこれを設定できます。詳細は、付録F「スキーマ参照: サーバー構成wlevs_server_config.xsd」の「partition-order-capacity」を参照してください。
password要素は次の親要素で使用します。
http-pub-sub-adapter:password要素を使用するとOracle Event Processingアプリケーションがパブリッシュする対象となるHTTPパブリッシュ/サブスクライブ・サーバーがユーザー認証を要求する場合にユーザー・パスワードを定義できます。
jms-adapter:Oracle Event ProcessingがJNDI InitialContextを取得するときuserおよびpassword(またはencrypted-password)要素を使用します。Oracle Event ProcessingがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory上でcreateConnectionメソッドをコールするときconnection-userおよびconnection-passwordを使用し、また構成済の場合はconnection-encrypted-password要素を使用します。それ以外の場合は、Oracle Event Processingは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>
この要素を使用するとコンポーネントのイベント再生パラメータを定義できます。
詳細は、第20章「イベント・レコードと再生の構成」を参照してください。
この要素を使用すると正の浮動小数点として再生速度を定義できます。デフォルト値は1で、これは通常速度に相当します。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プロセッサ・コンポーネントを定義できます。
詳細は、第19章「Oracle 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プロセッサ・コンポーネントを定義できます。
詳細は、第17章「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 Fusion Middleware Oracle 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>
provider-name要素は次の親要素で使用します。
netio:provider-name要素を使用すると基礎となるソケット実装にどのプロバイダを使用するか定義できます。有効な値はOracle Event Processingサーバーのconfig.xmlファイルのnetio子要素のprovider-typeです。
record-parameters:provider-name要素を使用するとイベント・ストア・プロバイダの名前を定義できます。この要素の値は、Oracle Event Processingサーバー・インスタンスのconfig.xmlファイル内のrdbms-event-store-provider要素のname子要素に対応している必要があります。
Oracle RDBMSベースのプロバイダを構成する場合は、この要素を指定する必要があります。
これはデフォルトのBerkeleyデータベース・プロバイダを使用するように構成するために空白のままにします。
この要素を使用するとコンポーネントのOracle CQL問合せを定義できます。
詳細は、第17章「Oracle CQLでのイベント・ストリームの問合せ」を参照してください。
表D-7ではqueryコンポーネント構成要素の属性が一覧表示されています。
表D-7 queryコンポーネント構成要素の属性
| 属性 | 説明 | データ型 | 必須? |
|---|---|---|---|
|
|
この問合せの一意の識別子です。 |
|
はい。 |
|
|
アプリケーションのデプロイ時および実行時にこの問合せを実行します。 有効な値は、 |
|
いいえ。 |
|
|
イベントをシリアルではなくパラレルに処理できるパラレル問合せ実行を有効または無効にします。 この属性は、次の3つの値をサポートします。
詳細は、第17章「Oracle CQLでのイベント・ストリームの問合せ」の「ordering-constraint属性の使用」を参照してください。 |
String |
いいえ。 |
|
|
パーティション間の順序付けの制約を緩和するための基準となるパーティション式(CQLコードで使用)。 詳細は、第17章「Oracle CQLでのイベント・ストリームの問合せ」の「ordering-constraint属性の使用」を参照してください。 |
String |
いいえ。 |
次の例はコンポーネント構成ファイル内の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>
この要素を使用するとコンポーネントのイベント・レコード・パラメータを定義できます。
詳細は、第20章「イベント・レコードと再生の構成」を参照してください。
次の例はコンポーネント構成ファイル内の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要素内でのみ適用できます。
表D-8ではruleコンポーネント構成要素の属性が一覧表示されています。
表D-8 ruleコンポーネント構成要素の属性
| 属性 | 説明 | データ型 | 必須? |
|---|---|---|---|
|
|
このルールの一意の識別子です。 |
|
はい。 |
|
|
アプリケーションのデプロイときおよび実行時にこのルールを実行します。 有効な値は、 |
|
いいえ。 |
|
|
イベントをシリアルではなくパラレルに処理できるパラレル問合せ実行を有効または無効にします。 この属性は、次の3つの値をサポートします。
詳細は、第17章「Oracle CQLでのイベント・ストリームの問合せ」の「ordering-constraint属性の使用」を参照してください。 |
String |
いいえ。 |
|
|
パーティション間の順序付けの制約を緩和するための基準となるパーティション式(CQLコードで使用)。 詳細は、第17章「Oracle CQLでのイベント・ストリームの問合せ」の「ordering-constraint属性の使用」を参照してください。 |
String |
いいえ。 |
この要素を使用すると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 Event ProcessingアプリケーションをホストしているOracle Event Processingインスタンスに関連付けられているローカルHTTPパブリッシュ・サブスクライブ・サーバーの、Oracle Event Processingサーバーconfig.xmlファイル要素http-pubsub、子要素pathを指定します。
デフォルト: /pubsub
新たにローカルHTTPパブリッシュ・サブスクライブ・サーバーを作成、またはデフォルトの構成を変更した場合は、該当するpath子要素の値を指定します。
|
注意: このオプションはリモートHTTPパブリッシュ・サブスクライブ・アダプタには指定しないでください。 |
必須。パブリッシュまたはサブスクライブする各リモートhttp-pub-sub-adapterに対して、Oracle Event Processingアプリケーションからのパブリッシュ先であるリモートHTTPパブリッシュ・サブスクライブ・サーバーのURLを指定します。リモートHTTPパブリッシュ・サブスクライブ・サーバーには、Oracle Event Processingの別のインスタンス、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 )における既存ステージ名です。
次の例はコンポーネント構成ファイル内の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 Fusion Middleware Oracle 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 )における既存ステージ名です。
詳細は、『Oracle Fusion Middleware Oracle 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>
この要素を使用するとストリーム・コンポーネントを定義できます。
|
注意:
|
この要素を使用するとadapter、http-pub-sub-adapter、またはjms-adapter要素のシンボルを定義できます。
|
注意:
|
この要素を使用すると、Oracle Event Processingサーバーがログを記録する監視イベントのしきい値を定義できます。
この要素は診断プロファイルのaverage-latency内でのみ適用できます。
詳細は、『Oracle Fusion Middleware Oracle 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 Fusion Middleware Oracle 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 Fusion Middleware Oracle 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 Event Processingサーバーがイベント・ストアでイベントに適用するフィルタを定義できます。この時間範囲内のrecord-timeを持つイベントのみステージに再生されます。
time-range-offsetまたはtime-rangeのいずれかを使用します。ただし、両方を使用することはできません。
詳細は、第20章「イベント・レコードと再生の構成」を参照してください。
次の例はコンポーネント構成ファイル内の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 Event Processingサーバーがイベント・ストアでイベントに適用するフィルタを定義できます。この時間範囲内のrecord-timeを持つイベントのみステージに再生されます。
time-rangeまたはtime-range-offsetのいずれかを使用します。ただし、両方を使用することはできません。
詳細は、第20章「イベント・レコードと再生の構成」を参照してください。
次の例はコンポーネント構成ファイル内の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>
この要素を使用するとエントリがキャッシュされる時間の最大数をミリ秒で定義できます。デフォルト値は無限大です。
詳細は、13.3項「Oracle Event Processingローカル・キャッシュ・システムおよびキャッシュの構成」を参照してください。
次の例はコンポーネント構成ファイル内の存続時間要素の使用方法を示します。
<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>
この要素を使用すると、イベント処理ネットワークのステージにイベント・トレースを構成できます。
イベント・トレースの詳細は、22.4項「イベントのトレース」を参照してください。
次の例に示すコンポーネント構成の一部は、イベント・トレース用にプロセッサを構成する方法を示しています。trace-parameters要素のactive子要素はトレースをオンにすることを指定し、channel-name要素はトレースされる要素の送信先のHTTPパブリッシュ・サブスクライブ(HTTP pub-sub)チャネルを指定します。
<processor>
<name>FindCrossRates</name>
<trace-parameters>
<active>true</active>
<channel-name>/NonClusteredServer/fx/FindCrossRates/output</channel-name>
</trace-parameters>
<rules>
<!-- Query rules omitted. -->
</rules>
</processor>
この要素を使用すると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>
user要素は次の親要素で使用します。
http-pub-sub-adapter:user要素を使用するとOracle Event Processingアプリケーションがパブリッシュする対象となるHTTPパブリッシュ/サブスクライブ・サーバーがユーザー認証を要求する場合に、ユーザー名を定義できます。
jms-adapter: Oracle Event ProcessingがJNDI InitialContextを取得するときuserおよびpassword(またはencrypted-password)要素を使用します。Oracle Event ProcessingがJMS宛先(JMSキューまたはトピック)への接続を作成するためにjavax.jms.ConnectionFactory上でcreateConnectionメソッドをコールするときconnection-userおよびconnection-passwordを使用し、また構成済の場合はconnection-encrypted-password要素を使用します。それ以外の場合は、Oracle Event Processingは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ビューを定義できます。
詳細は、第17章「Oracle CQLでのイベント・ストリームの問合せ」を参照してください。
表D-9ではviewコンポーネント構成要素の属性が一覧表示されています。
表D-9 viewコンポーネント構成要素の属性
| 属性 | 説明 | データ型 | 必須? |
|---|---|---|---|
|
|
この問合せの一意の識別子です。 |
|
はい。 |
|
|
アプリケーションのデプロイ時および実行時にこの問合せを実行します。 有効な値は、 |
|
いいえ。 |
|
|
イベントをシリアルではなくパラレルに処理できるパラレル問合せ実行を有効または無効にします。 この属性は、次の3つのうち1つの値をサポートします。
詳細は、第17章「Oracle CQLでのイベント・ストリームの問合せ」の「ordering-constraint属性の使用」を参照してください。 |
String |
いいえ。 |
|
|
パーティション間の順序付けの制約を緩和するための基準となるパーティション式(CQLコードで使用)。 詳細は、第17章「Oracle CQLでのイベント・ストリームの問合せ」の「ordering-constraint属性の使用」を参照してください。 |
String |
いいえ。 |
|
|
ビューで使用されるstream要素のスペース区切りのリストです。 |
スペース区切りのトークンの |
いいえ。 |
次の例はコンポーネント構成ファイル内の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 Event Processingサーバーのconfig.xmlファイルのwork-manager要素のname子要素で指定される名前です。デフォルト値はアプリケーション自体に構成されたワーク・マネージャです。
詳細は、F.45項「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 Event Processingサーバーの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>