Oracle® Fusion Middleware

Oracle Event Processingのスキーマ・リファレンス

12cリリース(12.1.3)

E57534-03(原本部品番号:E53667-05)

2016年11月

ストリーミング・イベントを処理する、Oracle Event Processingのスケーラブルなアプリケーションを設計および作成する方法。

Oracle Fusion Middleware Oracle Event Processingスキーマ・リファレンス,12c リリース(12.1.3)

E57534-03

Copyright © 2007, 2015, Oracle and/or its affiliates.  All rights reserved.

原本著者: Oracle Corporation

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- 関連ドキュメント

- 表記規則

このガイドで説明する新機能

1 XMLスキーマ定義の概要

- 1.1 EPNアセンブリ・スキーマspring-wlevs-v12_1_3_0.xsd

- 1.2 コンポーネント構成スキーマwlevs_application_config.xsd

- 1.3 デプロイメント・スキーマdeployment.xsd

- 1.4 サーバー構成スキーマwlevs_server_config.xsd

2 アプリケーション・アセンブリ・スキーマ

- 2.1 アプリケーション・アセンブリ要素の階層

- 2.2 wlevs:adapter

- 2.3 wlevs:application-timestamped

- 2.4 wlevs:cache

- 2.5 wlevs:cache-listener

- 2.6 wlevs:cache-loader

- 2.7 wlevs:cache-source

- 2.8 wlevs:cache-store

- 2.9 wlevs:caching-system

- 2.10 wlevs:channel

- 2.11 wlevs:class

- 2.12 wlevs:event-bean

- 2.13 wlevs:event-type

- 2.14 wlevs:event-type-repository

- 2.15 wlevs:expression

- 2.16 wlevs:factory

- 2.17 wlevs:function

- 2.18 wlevs:instance-property

- 2.19 wlevs:listener

- 2.20 wlevs:metadata

- 2.21 wlevs:processor

- 2.22 wlevs:properties

- 2.23 wlevs:property

- 2.24 wlevs:property

- 2.25 wlevs:source

- 2.26 wlevs:table

- 2.26.1 表ソース

- 2.26.2 表シンク

- 2.27 wlevs:table-source

3 コンポーネント要素の階層

- 3.1 adapter

- 3.2 http-pub-sub-adapter

- 3.3 jms-adapter

- 3.4 edn-adapter

- 3.5 csv-adapter

- 3.6 obr-adapter

- 3.7 channel

- 3.8 processor

- 3.9 event-bean

- 3.10 caching-system

- 3.11 coherence-caching-system

- 3.12 diagnostic-profiles

- 3.13 jaxb-mapper

- 3.14 rest-adapter

- 3.15 csv-mapper

- 3.16 rmi-adapter

4 コンポーネント構成スキーマ

- 4.1 accept-backlog

- 4.2 active

- 4.3 adapter

- 4.4 amount

- 4.5 append

- 4.6 application

- 4.7 average-interval

- 4.8 average-latency

- 4.9 bindings (jms-adapter)

- 4.10 bindings (processor)

- 4.11 buffer-size

- 4.12 buffer-write-attempts

- 4.13 buffer-write-timeout

- 4.14 cache

- 4.15 caching-system

- 4.16 channel

- 4.17 channel (http-pub-sub-adapter子要素)

- 4.18 channel-name

- 4.19 client-id

- 4.20 coherence-cache-config

- 4.21 coherence-caching-system

- 4.22 coherence-cluster-config

- 4.23 collect-interval

- 4.24 concurrent-consumers

- 4.25 configuration

- 4.26 config-name

- 4.27 config-value

- 4.28 connection-jndi-name

- 4.29 connection-encrypted-password

- 4.30 connection-password

- 4.31 connection-user

- 4.32 context-path

- 4.33 csv-adapter

- 4.34 csv-mapper

- 4.35 database

- 4.36 decision-function

- 4.37 default-session

- 4.38 delivery-mode

- 4.39 destination-jndi-name

- 4.40 destination-name

- 4.41 destination-type

- 4.42 diagnostic-profiles

- 4.43 dictionary-url

- 4.44 direction

- 4.45 durable-subscription

- 4.46 durable-subscription-name

- 4.47 duration

- 4.48 edl-file

- 4.49 edn-adapter

- 4.50 enabled

- 4.51 encrypted-password

- 4.52 end

- 4.53 end-location

- 4.54 event-bean

- 4.55 event-interval

- 4.56 event-type

- 4.57 event-type-name

- 4.58 eviction-policy

- 4.59 fail-when-rejected

- 4.60 group-binding

- 4.61 heartbeat

- 4.62 http-pub-sub-adapter

- 4.63 idle-time

- 4.64 initial-delay

- 4.65 inject-parameters

- 4.66 jaxb-mapper

- 4.67 jms-adapter

- 4.68 jndi-factory

- 4.69 jndi-name

- 4.70 jndi-provider-url

- 4.71 listeners

- 4.72 location

- 4.73 max-latency

- 4.74 max-size

- 4.75 max-threads

- 4.76 message-selector

- 4.77 metadata

- 4.78 name

- 4.79 netio

- 4.80 num-threads

- 4.81 obr-adapter

- 4.82 offer-timeout

- 4.83 output-file

- 4.84 package-name

- 4.85 param

- 4.86 parameter

- 4.87 params

- 4.88 partition-order-capacity

- 4.89 password

- 4.90 playback-parameters

- 4.91 priority

- 4.92 processor (Oracle CQL)

- 4.93 profile

- 4.94 query

- 4.95 raw-xml-content

- 4.96 record-parameters

- 4.97 repeat

- 4.98 rest-adapter

- 4.99 rest-outbound-adapter

- 4.100 rmi-adapter

- 4.101 rules

- 4.102 schema

- 4.103 schema-file

- 4.104 selector

- 4.105 server-context-path

- 4.106 server-url

- 4.107 session

- 4.108 session-ack-mode-name

- 4.109 session-transacted

- 4.110 source-url

- 4.111 stage

- 4.112 start

- 4.113 start-location

- 4.114 start-stage

- 4.115 threshold

- 4.116 throughput

- 4.117 throughput-interval

- 4.118 time-to-live

- 4.119 trace-parameters

- 4.120 unit

- 4.121 user

- 4.122 validate

- 4.123 value

- 4.124 view

- 4.125 work-manager

- 4.126 work-manager-name

- 4.127 write-behind

- 4.128 write-none

- 4.129 write-through

5 イベント記録および再生スキーマ

- 5.1 batch-size

- 5.2 batch-time-out

- 5.3 dataset-name

- 5.4 event-type-list

- 5.5 playback-speed

- 5.6 provider-name

- 5.7 recording-session-name

- 5.8 schedule-time-range

- 5.9 schedule-time-range-offset

- 5.10 store-policy-parameters

- 5.11 time-range

- 5.12 time-range-offset

6 Deployment Schema

- 6.1 デプロイメントの要素と階層

- 6.2 wlevs:deployment

- 6.2.1 例

7 サーバー構成スキーマ

- 7.1 Oracle Event Processingサーバーの構成要素

- 7.2 auth-constraint

- 7.3 bdb-config

- 7.4 calendar

- 7.5 channels

- 7.6 channel-constraints

- 7.7 channel-resource-collection

- 7.8 cluster

- 7.9 connection-pool-params

- 7.10 cql

- 7.11 data-source

- 7.12 data-source-params

- 7.13 driver-params

- 7.14 domain

- 7.15 debug

- 7.16 event-inspector

- 7.17 event-store

- 7.18 exported-jndi-context

- 7.19 glassfish-ws

- 7.20 http-pubsub

- 7.21 jetty

- 7.22 jetty-web-app

- 7.23 jmx

- 7.24 jndi-context

- 7.25 log-file

- 7.26 log-stdout

- 7.27 logging-service

- 7.28 message-filters

- 7.29 name

- 7.30 netio

- 7.31 netio-client

- 7.32 partition-order-capacity

- 7.33 path

- 7.34 pubsub-bean

- 7.35 rdbms-event-store-provider

- 7.36 rmi

- 7.37 scheduler

- 7.38 server-config

- 7.39 services

- 7.40 show-detail-error-message

- 7.41 ssl

- 7.42 timeout-seconds

- 7.43 transaction-manager

- 7.44 use-secure-connections

- 7.45 user-event-store-provider

- 7.46 weblogic-instances

- 7.47 weblogic-jta-gateway

- 7.48 weblogic-rmi-client

- 7.49 work-manager

- 7.50 xa-params

8 高可用性スキーマ

- 8.1 ha-buffering-adapter

- 8.2 ha-broadcast-adapter

- 8.3 ha-correlating-adapter

- 8.4 ha-inbound-adapter

- 8.5 batch-size

- 8.6 fail-over-delay

- 8.7 heartbeat

- 8.8 trimming-interval

- 8.9 warm-up-window-length

- 8.10 window-length

9 データ・カートリッジ・スキーマ

- 9.1 ocep_jdbc_context_config.xsd

- 9.2 ocep-jdbc.xsd

- 9.3 ocep-spatial.xsd

- 9.4 ocep-hadoop.xsd

- 9.5 ocep-nosql.xsd

10 メタタイプ・スキーマ

- 10.1 binding

- 10.2 multi-valued

はじめに

このドキュメントは、Oracle Event Processingスキーマのリファレンスです。Oracle Event Processingをインストールすると、スキーマ・ファイルは次のディレクトリにインストールされます。

/Oracle/Middleware/my_oep/xsd

対象読者

このドキュメントは、Oracle Event Processingアプリケーションを作成する開発者を対象としています。

関連ドキュメント

詳細は、次を参照してください。

- Oracle SOA製品およびOracle AIA Foundation Packの既知の問題: http://www.oracle.com//technetwork/middleware/soasuite/documentation/soaknown-2644661.html。

- Oracle Event Processingアプリケーションの開発

- Oracle Event Processingスタート・ガイド

- Oracle Event Processingの管理

- Oracle Event Processingビジュアライザの使用

- Oracle Event Processingのカスタマイズ

- Oracle CQLデータ・カートリッジによるアプリケーションの開発

- Oracle Event Processing Oracle CQL言語リファレンス

- Oracle Event Processing Java APIリファレンス

- Oracle Stream Explorerの使用

- Oracle Stream Explorerスタート・ガイド

- Oracle Database SQL言語リファレンス: http://docs.oracle.com/cd/E16655_01/server.121/e17209/toc.htm

- SQL99仕様(ISO/IEC 9075-1:1999、ISO/IEC 9075-2:1999、ISO/IEC 9075-3:1999およびISO/IEC 9075-4:1999)

- Oracle Event Processingフォーラム: http://forums.oracle.com/forums/forum.jspa?forumID=820

表記規則

このマニュアルでは次の表記規則を使用します。

表記規則

意味

太字体

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

斜体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

このガイドで説明する新機能

12c (12.2.1.0.0) リリースでは、製品名がOracle Stream ExplorerからOracle Stream Analyticsに変更されました。ファイル名、スクリーン・ショットおよびテキストは、新しいファイル名およびファイル・システム構造を反映するように更新されています。

使用しているスキンによっては、このガイドで示される画面は実装状態と異なる場合があります。相違点は軽微なものです。

このリリースでは、QuickFix Adapterのサポートが非推奨になっています。

1 XMLスキーマ定義の概要

Oracle Event Processingでは、XMLスキーマ定義(xsd)を使用して、アプリケーション、デバッグ、デプロイ、コンポーネント、サーバー、データ・カートリッジおよびバインドの各構成を定義するXML文書で使用できるタイプを記述します。Oracle JDeveloperのOracle Event Processingモジュールでは、このガイドで説明するxsdに従って、これらの構成が生成されます。

Oracle Event Processingスキーマ・ファイルは、/Oracle/Middleware/my_osa/xsdディレクトリにあるインストールで用意されています。

この章の内容は次のとおりです。

- EPNアセンブリ・スキーマspring-wlevs-v12_1_3_0.xsd

- コンポーネント構成スキーマwlevs_application_config.xsd

- デプロイメント・スキーマdeployment.xsd

- サーバー構成スキーマwlevs_server_config.xsd

1.1 EPNアセンブリ・スキーマspring-wlevs-v12_1_3_0.xsd

EPNアセンブリ・ファイルを使用して、Oracle Event Processingアプリケーションを構成するコンポーネントおよびコンポーネント間の接続方法を宣言します。EPNアセンブリ・ファイルは、標準のSpringコンテキスト・ファイルの拡張です。また、このファイルを使用して、アプリケーションのアダプタ・コンポーネントおよびPOJOコンポーネントを実装するJavaクラスを登録し、アプリケーションおよびEPLルール全体で使用するイベント・タイプを登録し、環境内でOracle Event Processing固有のサービスを参照します。

次のXMLファイルは、HelloWorldのサンプルのEPNアセンブリ・ファイルを示しています。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs-v12_1_3_0.xsd">

<wlevs:event-type-repository>
<wlevs:event-type type-name="HelloWorldEvent">
<wlevs:class>com.bea.wlevs.event.example.helloworld.HelloWorldEvent</wlevs:class>
</wlevs:event-type>
</wlevs:event-type-repository>

<!-- Adapter can be created from a local class, without going through a adapter factory -->
<wlevs:adapter id="helloworldAdapter" class="com.bea.wlevs.adapter.example.helloworld.HelloWorldAdapter" >
<wlevs:instance-property name="message" value="HelloWorld - the current time is:"/>
</wlevs:adapter>

<wlevs:channel id="helloworldInputChannel" event-type="HelloWorldEvent" >
<wlevs:listener ref="helloworldProcessor"/>
<wlevs:source ref="helloworldAdapter"/>
</wlevs:channel>

<!-- The default processor for Oracle Event Processing 12.1.3.0 is CQL -->
<wlevs:processor id="helloworldProcessor" />

<wlevs:channel id="helloworldOutputChannel" event-type="HelloWorldEvent" advertise="true">
<wlevs:listener>
<bean class="com.bea.wlevs.example.helloworld.HelloWorldBean"/>
</wlevs:listener>
<wlevs:source ref="helloworldProcessor"/>
</wlevs:channel>
</beans>

1.2 コンポーネント構成スキーマwlevs_application_config.xsd

Oracle Event Processingアプリケーションには、そのMETA-INF/wlevsディレクトリに、1つ以上のコンポーネント構成ファイルが含まれています。コンポーネント構成ファイルを使用して、Oracle Event Processingコンポーネント(アダプタ、チャネル、プロセッサなど)のデフォルト構成をオーバーライドします。wlevs_application_config.xsdスキーマ・ファイルでは、コンポーネント構成ファイルの構造について説明しています。このXSDスキーマでは、次のスキーマがインポートされます。

- wlevs_base_config.xsd

- wlevs_eventstore_config.xsd

- wlevs_diagnostic_config.xsd

次のコンポーネント構成ファイルは、HelloWorldサンプル・アプリケーション用です。

<?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>

1.3 デプロイメント・スキーマdeployment.xsd

deployments.xmlファイルは、/Oracle/Middleware/my_osa/user_projects/domains/<domain>/<server>/ディレクトリにあります。このXMLファイルには、サーバーにデプロイされているOSGiバンドルがリストされます。deployment.xsdスキーマ・ファイルはデプロイメント・ファイルの構造を説明します。

次の例は、サンプルFXドメインのdeployments.xmlファイルを示しています。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wlevs="http://www.bea.com/ns/wlevs/deployment"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.bea.com/ns/wlevs/deployment
http://www.bea.com/ns/wlevs/deployment/deployment.xsd">
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
</bean>
<wlevs:deployment id="fx" state="start"
location="file:${wlevs.domain.home}/applications/fx/com.bea.wlevs.example.fx_11.1.0.0.jar"/>
</beans>

1.4 サーバー構成スキーマwlevs_server_config.xsd

Oracle Event Processingサーバー構成ファイルは、DOMAIN_DIR/servername/configディレクトリにあります。Oracle Event Processingインスタンスの構成を変更するには、このファイルを手動で更新して、サーバー構成要素を追加または削除します。welvs_server_config.xsdスキーマ・ファイルはサーバー構成ファイルの構造を説明します。

次の例は、これらのサービスの一部を構成する方法を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<n1:config xsi:schemaLocation="
http://www.bea.com/ns/wlevs/config/server wlevs_server_config.xsd"
xmlns:n1="http://www.bea.com/ns/wlevs/config/server"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<netio>
<name>NetIO</name>
<port>9002</port>
</netio>
<netio>
<name>sslNetIo</name>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
<port>9003</port>
</netio>
<work-manager>
<name>JettyWorkManager</name>
<min-threads-constraint>5</min-threads-constraint>
<max-threads-constraint>10</max-threads-constraint>
</work-manager>
<jetty>
<name>JettyServer</name>
<network-io-name>NetIO</network-io-name>
<work-manager-name>JettyWorkManager</work-manager-name>
<secure-network-io-name>sslNetIo</secure-network-io-name>
</jetty>
<rmi>
<name>RMI</name>
<http-service-name>JettyServer</http-service-name>
</rmi>
<jndi-context>
<name>JNDI</name>
</jndi-context>
<exported-jndi-context>
<name>exportedJndi</name>
<rmi-service-name>RMI</rmi-service-name>
</exported-jndi-context>
<jmx>
<rmi-service-name>RMI</rmi-service-name>
<jndi-service-name>JNDI</jndi-service-name>
</jmx>
<ssl>
<name>sslConfig</name>
<key-store>./ssl/dsidentity.jks</key-store>
<key-store-pass>
<password>changeit</password>
</key-store-pass>
<key-store-alias>ds</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<ssl-protocol>TLS</ssl-protocol>
<enforce-fips>false</enforce-fips>
<need-client-auth>false</need-client-auth>
</ssl>
<http-pubsub>
<name>pubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<name>pubsubbean</name>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>
<channels>
<element>
<channel-pattern>/evsmonitor</channel-pattern>
</element>
<element>
<channel-pattern>/evsalert</channel-pattern>
</element>
<element>
<channel-pattern>/evsdomainchange</channel-pattern>
</element>
</channels>
</pub-sub-bean>
</http-pubsub>
</n1:config>

2 アプリケーション・アセンブリ・スキーマ

アプリケーション・アセンブリ・スキーマは、EPNコンポーネントを宣言するアセンブリ・ファイルの背後にあります。この章は、spring-wlevs-v12_1_3_0.xsdスキーマの要素のリファレンスです。

この章の内容は次のとおりです。

- アプリケーション・アセンブリ要素の階層

- wlevs:adapter

- wlevs:application-timestamped

- wlevs:cache

- wlevs:cache-listener

- wlevs:cache-loader

- wlevs:cache-source

- wlevs:cache-store

- wlevs:caching-system

- wlevs:channel

- wlevs:class

- wlevs:event-bean

- wlevs:event-type

- wlevs:event-type-repository

- wlevs:expression

- wlevs:factory

- wlevs:function

- wlevs:instance-property

- wlevs:listener

- wlevs:metadata

- wlevs:processor

- wlevs:properties

- wlevs:property

- wlevs:property

- wlevs:source

- wlevs:table

- wlevs:table-source

2.1 アプリケーション・アセンブリ要素の階層

Oracle Event Processingには多数のアプリケーション・アセンブリ要素が用意されており、それらの要素をアプリケーションのEPNアセンブリ・ファイル内で使用して、イベント・タイプを登録し、イベント処理ネットワークのコンポーネントを宣言し、各コンポーネントがどのように相互にリンクしているかを指定します。EPNアセンブリ・ファイルは、標準のSpringコンテキスト・ファイルの拡張です。

Oracle Event Processingアプリケーション・アセンブリ要素は、次の階層で構成されます。

beans
Standard Spring and OSGi elements such as bean, osgi-service, and so on.
wlevs:event-type-repository
wlevs:event-type
wlevs:class
wlevs:metadata
wlevs:properties
wlevs:property
wlevs:adapter
wlevs:listener
wlevs:instance-property
wlevs:property
wlevs:processor
wlevs:listener
wlevs:source
wlevs:function
wlevs:instance-property
wlevs:property
wlevs:cache-source
wlevs:table-source
wlevs:channel
wlevs:listener
wlevs:source
wlevs:instance-property
wlevs:property
wlevs:application-timestamped
wlevs:expression
wlevs:event-bean
wlevs:listener
wlevs:instance-property
wlevs:property
wlevs:factory
wlevs:cache
wlevs:caching-system
wlevs:cache-loader
wlevs:cache-store
wlevs:cache-listener
wlevs:caching-system
wlevs:instance-property
wlevs:property
wlevs:table

2.2 wlevs:adapter

wlevs:adapter要素を使用して、Springアプリケーション・コンテキストに対してアダプタ・コンポーネントを宣言します。

子要素

wlevs:adapterアプリケーション・アセンブリ要素は、次の子要素をサポートします。

- wlevs:listener

- wlevs:instance-property
wlevs:property

属性

表2-1 wlevs:adapterアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

id

このコンポーネントの一意の識別子。

この識別子は、このアダプタのXML構成ファイル内の<name>要素に対応している必要があります(その要素が存在する場合)。

String

はい

advertise

このサービスをOSGiレジストリに公開します。

有効な値は、trueおよびfalseです。デフォルト値はfalseです。

Boolean

いいえ

listeners

このコンポーネントをリスニングするコンポーネントを指定します。

この属性は、コンポーネントを宣言した要素のid属性の値に設定します。

String

いいえ

provider

アダプタ・サービス・プロバイダを指定します。通常、この属性の値はOSGiに登録されたアダプタ・ファクトリ・サービスへの参照です。

csvgenまたはloadgenユーティリティを使用してデータ・フィードをシミュレートする場合は、ハードコードされたcsvgenまたはloadgenの値をそれぞれ使用します。たとえば、次のようになります。

provider="csvgen"

組込みのHTTPパブリッシュ/サブスクライブ・アダプタのいずれかを使用する場合は、ハード・コード化された次の値を指定します。

- パブリッシュに使用する組込みのpub-subアダプタの場合は、ハードコードされたhttppub値を次のように指定します。

provider="httppub"

- サブスクライブに使用する組込みのpub-subアダプタの場合は、ハードコードされたhttpsub値を次のように指定します。

provider="httpsub"

JMSアダプタを使用する場合は、次のいずれかのハード・コード化された値を指定します。

- インバウンドJMSアダプタの場合は、jms-inbound値を次のように指定します。

provider="jms-inbound"

- アウトバウンドJMSアダプタの場合は、jms-outbound値を次のように指定します。

provider="jms-outbound"

providerまたはclass属性のどちらかを指定する必要がありますが、両方は指定できません。両方を指定すると例外が発生します。

String

いいえ

class

このアダプタを実装するJavaクラスを指定します。

providerまたはclass属性のどちらかを指定する必要がありますが、両方は指定できません。両方を指定すると例外が発生します。

String

いいえ

onevent-method

ライフサイクルのonEventメソッドに対応したアダプタ実装のメソッドを指定します。

Oracle Event Processingは、アダプタがイベントを受け取ったときにこのメソッドを呼び出します。

String

いいえ

init-method

ライフサイクルのinitメソッドに対応したアダプタ実装のメソッドを指定します。

Oracle Event Processingは、指定されたすべてのインスタンス・プロパティを設定した後、このメソッドを呼び出します。このメソッドを使用することにより、アダプタ・インスタンスに、すべてのBeanプロパティが設定済の場合にのみ可能な初期化を実行させ、構成が正しくない場合は例外をスローさせることができます。

String

いいえ

activate-method

ライフサイクルのactivateメソッドに対応したアダプタ実装のメソッドを指定します。

Oracle Event Processingは、アダプタの動的構成が完了した後で、このメソッドを呼び出します。このメソッドを使用すると、アダプタ・インスタンスは、すべての動的Beanプロパティが設定済であり、かつEPNが接続済であるときに限って可能な初期化を実行できます。

String

いいえ

suspend-method

ライフサイクルのsuspendメソッドに対応したアダプタ実装のメソッドを指定します。

Oracle Event Processingは、アプリケーションが一時停止されたときに、このメソッドを呼び出します。

String

いいえ

destroy-method

ライフサイクルのdestroyメソッドに対応したアダプタ実装のメソッドを指定します。

Oracle Event Processingは、アプリケーションが停止したときに、このメソッドを呼び出します。

String

いいえ

例

次の例は、EPNアセンブリ・ファイルでのwlevs:adapter要素の使用方法を示しています。この例では、アダプタの一意の識別子はhelloworldAdapterです。プロバイダはOSGiサービスです。EPNアセンブリ・ファイルにも登録されており、参照はhellomsgsです。アダプタにはmessageという静的なプロパティがあります。これは、アダプタJavaファイルにsetMessageメソッドがあることを示します。

<wlevs:adapter id="helloworldAdapter" provider="hellomsgs">
<wlevs:instance-property name="message"
value="HelloWorld - the current time is:"/>
</wlevs:adapter>

2.3 wlevs:application-timestamped

wlevs:channelはアプリケーション・タイムスタンプであるかを指定するためにこの要素を使用します(アプリケーションはいずれかの時間ドメインで各イベントに対してタイムスタンプを割り当てます)。

その他の場合、wlevs:channelはシステム・タイムスタンプです(Oracle Event ProcessingサーバーはSystem.nanoTimeで各イベントに対してタイムスタンプを割り当てます)。

子要素

wlevs:application-timestampedアプリケーション・アセンブリ要素は、次の子要素をサポートします。

- wlevs:expression : イベント処理のためにアプリケーション・タイムスタンプとして使用する式を指定します。

属性

表2-2 wlevs:application-timestampedアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

is-total-order

trueの場合、パブリッシュされたアプリケーション時間が常に前回使用された値よりも大きくなることを示します。

有効な値はtrueまたはfalseです。デフォルト: false。

Boolean

いいえ

is-silent-relation

trueの場合、リレーションがサイレントであることを示します。サイレント・リレーションでは、変更が頻繁には発行されません。この設定が適用されるのは、wlevs:channel要素の属性is-relationがtrueの場合のみです。

有効な値は、trueおよびfalseです。デフォルトは、falseです。

Boolean

いいえ

例

次の例は、暗黙的にアプリケーション・タイムスタンプのチャネルを指定するために、EPNアセンブリ・ファイルでwlevs:application-timestamped要素を使用する方法について説明します。この例では、アプリケーションはイベント・タイムスタンプを内部的に処理します。

<wlevs:channel id="fxMarketAmerOut" >
<wlevs:application-timestamped>
</wlevs:application-timestamped>
</wlevs:channel>

次の例は、明示的にアプリケーション・タイムスタンプのチャネルを指定するために、wlevs:expression要素を指定することにより、EPNアセンブリ・ファイルでwlevs:application-timestamped要素を使用する方法について説明します。この例では、wlevs:expression要素は各イベントにタイムスタンプを割り当てるために使用する算術式を定義します。

<wlevs:channel id="fxMarketAmerOut" >
<wlevs:application-timestamped>
<wlevs:expression>mytime+10</wlevs:expression>
</wlevs:application-timestamped>
</wlevs:channel>

次の例では、is-silent-relationを追加し、is-relation属性をtrueに設定します。これらの設定は、チャネルで変更をあまり頻繁には発行しないことを意味します。

<wlevs:channel id="AppTimeStampedChannel"/>
<wlevs:application-timestamped is-silent-relation="true" is-relation="true">
<wlevs:expression>mytime+10</wlevs:expression>
</wlevs:application-timestamped>

2.4 wlevs:cache

この要素を使用して、Springアプリケーション・コンテキストに対してキャッシュを宣言します。

子要素

wlevs:cacheアプリケーション・アセンブリ要素は、次の子要素をサポートします。

- wlevs:caching-system: このキャッシュが属するキャッシング・システムを指定します。

注意:

この子要素は、キャッシング・システムを宣言するために使用するwlevs:caching-system要素とは異なります。wlevs:cache要素の子要素は、refという単一の属性を持ちます。この属性は、宣言されたキャッシング・システムのid属性を参照します。

- wlevs:cache-loader: このキャッシュのキャッシュ・ローダーを指定します。

- wlevs:cache-store: このキャッシュのキャッシュ・ストアを指定します。

- wlevs:cache-listener: このキャッシュのリスナー、またはキャッシュのイベントの送信先コンポーネントを指定します。

属性

表2-3 wlevs:cacheアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

id

このコンポーネントの一意の識別子。

この識別子は、このキャッシュのXML構成ファイル内の<name>要素に対応している必要があります。

String

はい

name

このキャッシュの代替名を指定します。指定しない場合、キャッシュの名前はid属性と同じになります。

String

いいえ

key-properties

プロパティ名のカンマ区切りリストを指定します。これらのプロパティがまとまって、キャッシュ内のオブジェクトの一意キー値、またはキャッシュ・キーを形成します。キャッシュ・キーは単一のプロパティまたは複数のプロパティで構成されます。キャッシュをイベント処理ネットワーク内のリスナーとして構成すると、Oracle Event Processingは、一意キー値をキーとして使用してキャッシュに到達するイベントを挿入します。

key-class属性を使用してキー・クラスを指定した場合、この属性はオプションです。key-propertiesとkey-classのどちらも指定しない場合、Oracle Event Processingは、イベント・オブジェクトをキャッシュに挿入するときにキーと値の両方としてイベント・オブジェクトそのものを使用します。

String

いいえ。

key-class

キーが複合キーである場合に、キャッシュのキーに使用するJavaクラスの名前を指定します。

key-properties属性を指定しない場合、key-classのすべてのプロパティはキー・プロパティであると想定されます。key-propertiesとkey-classのどちらも指定しない場合、Oracle Event Processingは、イベント・オブジェクトをキャッシュに挿入するときにキーと値の両方としてイベント・オブジェクトそのものを使用します。

String

いいえ。

value-type

キャッシュに含まれる値の型を指定します。イベント・タイプ・リポジトリの有効な型の名前である必要があります。

この属性は、Oracle CQL問合せでキャッシュが参照される場合に必要です。これは、問合せプロセッサはキャッシュ内のイベントのタイプを意識している必要があるからです。

String

いいえ。

caching-system

このキャッシュが含まれているキャッシング・システムを指定します。

この属性の値は、適切なwlevs:caching-system要素のid属性に対応します。

String

はい。

advertise

このサービスをOSGiレジストリに公開します。

有効な値は、trueおよびfalseです。デフォルト値はfalseです。

Boolean

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:cache要素の使用方法を示しています。キャッシュの一意の識別子はcache-idで、代替名はalternative-cache-nameです。キャッシュが属しているキャッシング・システムのidはcaching-system-idです。キャッシュにはリスナーがあり、キャッシュはそのリスナーにイベントを送信します。キャッシュにリスニングするコンポーネントのidはtradeListenerです。

<wlevs:cache id="cache-id" name="alternative-cache-name">
<wlevs:caching-system ref="caching-system-id"/>
<wlevs:cache-listener ref="tradeListener" />
</wlevs:cache>

2.5 wlevs:cache-listener

この要素を使用して、リスニング・コンポーネントに対するイベントのソースとしてキャッシュを指定します。リスニング・コンポーネントはcom.bea.cache.jcache.CacheListenerインタフェースを実装する必要があります。

この要素は常にwlevs:cacheの子です。

属性

表2-4 wlevs:cache-listenerアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

ref

このキャッシュをリスニングするコンポーネントを指定します。

この属性は、リスニング・コンポーネントのid属性の値に設定します。リスニング・コンポーネントは、アダプタまたはSpring Beanです。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:cache-listener要素の使用方法を示しています。cache-listener-idのSpring Beanはキャッシュからのイベントをリスニングし、このコンポーネントを実装するクラスwlevs.example.MyCacheListenerは、com.bea.jcache.CacheListenerインタフェースを実装する必要があります。wlevs.example.MyCacheListenerクラスは自分でプログラムする必要があります。

<wlevs:caching-system id="caching-system-id"/>
...
<wlevs:cache id="cache-id" name="alternative-cache-name">
<wlevs:caching-system ref="caching-system-id"/>
<wlevs:cache-listener ref="cache-listener-id" />
</wlevs:cache>
...
<bean id="cache-listener-id" class="wlevs.example.MyCacheListener"/>

2.6 wlevs:cache-loader

spring-wlevs-v12_1_3_0.xsdはデータをキャッシュにロードするオブジェクトを実装するSpring Beanを指定します。

この要素は常にwlevs:cacheの子です。

属性

表2-5 wlevs:cache-loaderアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

ref

データをキャッシュにロードするクラスを実装するSpring Beanを指定します。

この属性は、Spring Beanの id 属性の値に設定します。

Spring Beanはcom.bea.cache.jcache.CacheLoaderインタフェースを実装する必要があります。

String

はい。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:cache-loader要素の使用方法を示しています。com.bea.cache.jcache.CacheLoaderインタフェースを実装するwlevs.example.MyCacheLoaderクラスによって実装されるcache-loader-id Spring Beanは、データをキャッシュにロードするBeanです。キャッシュは、wlevs:cache-loader子要素のref属性で参照することによって、このローダーを指定します。

<wlevs:cache id="cache-id" name="alternative-cache-name">
<wlevs:caching-system ref="caching-system-id"/>
<wlevs:cache-loader ref="cache-loader-id" />
</wlevs:cache>
...
<bean id="cache-loader-id" class="wlevs.example.MyCacheLoader"/>

2.7 wlevs:cache-source

このプロセッサ・コンポーネントにデータを提供するキャッシュを指定します。プロセッサ・コンポーネントは、キャッシュを直接参照するOracle CQL問合せに関連付けられます。

wlevs:cache要素のvalue-type属性を使用して、キャッシュによって提供されるデータのイベント・タイプを宣言します。

この要素は、wlevs:processor要素のみの子です。

属性

表2-6 wlevs:cache-sourceアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

ref

プロセッサ・コンポーネントのデータのソースであるキャッシュを指定します。

この属性は、キャッシュのid属性の値に設定します。

String

はい。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:cache-source要素の使用方法を示しています。この例では、プロセッサは従来とおりにstream-idから押し出されるデータを持ちます。ただし、プロセッサで実行するOracle CQL問合せは、cache-idキャッシュからデータを抽出することもできます。問合せプロセッサがFROM句のイベント・タイプとキャッシュによって提供されたイベント・タイプ(Companyなど)を照合するとき、プロセッサはそのイベント・タイプのインスタンスをキャッシュからプルします。

<wlevs:caching-system id="caching-system-id"/>
...
<wlevs:cache id="cache-id"
name="alternative-cache-name"
value-type="Company">
<wlevs:caching-system ref="caching-system-id"/>
</wlevs:cache>
<wlevs:channel id="stream-id"/>
<wlevs:processor id="processor-id">
<wlevs:cache-source ref="cache-id">
<wlevs:source ref="stream-id">
</wlevs:processor>

2.8 wlevs:cache-store

キャッシュからバッキング・ストア(データベース内の表など)へのデータの書込みを処理するカスタム・ストアを実装するSpring Beanを指定します。

この要素は常にwlevs:cacheの子です。

属性

表2-7 wlevs:cache-storeアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

ref

カスタム・ストアを実装するSpring Beanを指定します。

この属性は、Spring Beanのid属性の値に設定します。

Spring Beanはcom.bea.cache.jcache.CacheStoreインタフェースを実装する必要があります。

String

はい。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:cache-store要素の使用方法を示しています。この例では、com.bea.cache.jcache.CacheStoreインタフェースを実装するwlevs.example.MyCacheStoreクラスによって実装されるcache-store-id Spring Beanは、データベースなどのようなカスタム・ストアのBeanです。キャッシュは、wlevs:cache-store子要素のref属性で参照することによって、このストアを指定します。

<wlevs:cache id="cache-id" name="alternative-cache-name">
<wlevs:caching-system ref="caching-system-id"/>
<wlevs:cache-store ref="cache-store-id" />
</wlevs:cache>
...
<bean id="cache-store-id" class="wlevs.example.MyCacheStore"/>

2.9 wlevs:caching-system

アプリケーションで使用するキャッシング・システムを指定します。

子要素

wlevs:caching-systemアプリケーション・アセンブリ要素は、次の子要素をサポートします。

- wlevs:instance-property

- wlevs:property

属性

表2-8 wlevs:caching-systemアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

id

このキャッシング・システムの一意の識別子を指定します。

この識別子は、このキャッシング・システムのXML構成ファイル内の<name>要素に対応している必要があります。

String

はい。

advertise

このサービスをOSGiレジストリに公開します。

有効な値は、trueおよびfalseです。デフォルト値はfalseです。

Boolean

いいえ。

provider

Oracle Coherenceなどのサード・パーティの実装を使用する場合は、キャッシング・システムのプロバイダを指定します。

<wlevs:caching-system id="myCachingSystem" provider=coherence" />

通常、この属性は、サード・パーティ・キャッシング・システムのインスタンスを作成するファクトリ・クラスを指定する<factory> Spring要素のprovider-name属性に対応します。

providerとclassのどちらの属性も指定しない場合、デフォルト値はローカルな単一JVMキャッシュ用Oracle Event Processingネイティブ・キャッシングの実装であり、この実装ではインメモリー・ストアを使用します。

String

いいえ。

class

このキャッシング・システムを実装するJavaクラスを指定します(この属性を使用して、Oracle Event Processingのネイティブ・キャッシングの実装ではないサード・パーティの実装を指定します)。

この属性を指定した場合、サード・パーティの実装コードがOracle Event Processingアプリケーション・バンドル自体の内部に存在するとみなされます。この属性が参照するクラス・ファイルは、com.bea.wlevs.cache.api.CachingSystemインタフェースを実装する必要があります。

providerとclassのどちらの属性も指定しない場合、デフォルト値はローカルな単一JVMキャッシュ用Oracle Event Processingネイティブ・キャッシングの実装であり、この実装ではインメモリー・ストアを使用します。

String

いいえ

例

次の例は、EPNアセンブリ・ファイルでのwlevs:caching-system要素の最も簡単な使用方法を示しています。

<wlevs:caching-system id="caching-system-id"/>

次の例は、ファクトリをプロバイダとして使用するサード・パーティの実装を指定する方法を示しています。この例では、the.factory.class.nameは、サード・パーティ・キャッシング・システムを作成するためのファクトリです。wlevs:caching-systemのプロバイダ属性は、アプリケーションのキャッシング・システムの実装としてこのファクトリを参照します。

<wlevs:caching-system id ="caching-system-id" provider="caching-provider"/>
<factory id="factory-id" provider-name="caching-provider">
<class>the.factory.class.name</class>
</factory>

2.10 wlevs:channel

この要素を使用して、Springアプリケーション・コンテキストに対してチャネルを宣言します。

デフォルトでは、チャネルはイベントがシステム・タイムスタンプであることを想定します。アプリケーション・タイムスタンプのイベントを構成するには、wlevs:application-timestamped子要素を参照してください。

子要素

wlevs:channelアプリケーション・アセンブリ要素は、次の子要素をサポートします。

- wlevs:listener

- wlevs:source

- wlevs:instance-property

- wlevs:property

- wlevs:application-timestamped

属性

表2-9 wlevs:channelアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

advertise

このサービスをOSGiレジストリに公開します。

有効な値は、trueおよびfalseです。デフォルト値はfalseです。

Boolean

いいえ。

batching

イベントのバッチをイベント・チャネルで有効にするかどうかを指定します。

有効な値は、trueおよびfalseです。デフォルト値はfalseです。

Boolean

いいえ。

event-type

イベント・チャネルを通過できるイベントのタイプを指定します。

String

はい。

id

このコンポーネントの一意の識別子。

この識別子は、このチャネルのXML構成ファイル内の<name>要素に対応している必要があります(その要素が存在する場合)。

String

はい。

is-relation

イベント・チャネルをパススルーできるイベントの種類を指定します。streamsおよびrelationsの2種類のイベントがサポートされています。streamsは、追加専用です。Relationsは、挿入、削除および更新処理をサポートします。

この属性のデフォルト値はfalseです。

Boolean

いいえ。

listeners

このコンポーネントをリスニングするコンポーネントを指定します。複数のコンポーネントはカンマを使用して区切ります。

この属性は、リスニング・コンポーネントを定義する要素(wlevs:adapter、wlevs:channelまたはwlevs:processor)のid属性に設定します。

String

いいえ。

max-size

このチャネルのFIFOバッファの最大サイズは、max-sizeイベント数と指定します。

max-size = 0の場合、チャネルはイベントを同期的にパススルーします。

max-size > 0の場合は、チャネルはリクエストされたサイズでイベントをバッファリングし、イベントを非同期で処理します。

max-threadsが0の場合、max-sizeは0です。

この属性のデフォルト値は1024です。

integer

いいえ。

max-threads

このチャネルのイベントを処理するために使用されるスレッドの最大数を指定します。

max-threads = 0の場合、チャネルはパススルーとして機能します。イベントの順序が維持されます。

max-threads > 0の場合、チャネルは従来のブロッキング・キューのように機能し、アップストリーム・コンポーネントがイベントのプロデューサ、ダウンストリーム・コンポーネントがイベントのコンシューマになります。キューのサイズはmax-sizeの構成によって定義されます。キューからイベントを消費するスレッドは、最大でmax-threadsの数までとなります。イベントの順序は確定できません。

max-threadsは、再デプロイすることなく0から正の整数に(つまり、パス・スルーから複数スレッドに)変更できます。しかし、max-threadsを正の整数から0に(つまり、複数スレッドからパス・スルーに)変更する場合は、アプリケーションを再デプロイする必要があります。

max-size属性が0の場合は、max-threadsの値の設定には影響がありません。

この属性のデフォルト値は1です。

integer

いいえ。

primary-key

リレーションの主キーを「,」または空白で区切ったイベント・プロパティ名のリストとして指定します。

String

いいえ。

provider

ストリーム・プロバイダを指定します。

有効な値は、次のとおりです。

- oracle.channel

デフォルト値は、すぐに使用できるように用意されているストリーミング・プロバイダであるoracle.channelです。

String

いいえ。

source

チャネルのイベント・ソースとなるコンポーネントを指定します。

この属性は、ソース・コンポーネントを定義する要素(wlevs:adapter、wlevs:channelまたはwlevs:processor)のid属性に設定します。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:channel要素の使用方法を示しています。この例は、fxMarketAmerOutという一意の識別子を持つチャネル・サービスを宣言する方法を示しています。

<wlevs:channel id="fxMarketAmerOut" />

2.11 wlevs:class

この要素を使用して、イベント・タイプ実装として使用するJavaBeanクラスの完全修飾名を指定します。この要素は、wlevs:event-type要素の子である必要があります。

次の例は、EPNアセンブリ・ファイルでのwlevs:class要素の使用方法を示しています。

<wlevs:event-type-repository>
<wlevs:event-type type-name="SimpleEvent">
<wlevs:class>com.example.myapp.MyEventType</wlevs:class>
</wlevs:event-type>
...
</wlevs:event-type-repository>

2.12 wlevs:event-bean

この要素を使用して、イベントBeanがイベント処理ネットワーク(EPN)の一部であることをSpringアプリケーション・コンテキストに対して宣言します。イベントBeanはOracle Event Processingコンテナによって管理されます。これは、Spring BeanがSpringフレームワークによって管理されるのと似ています。多くの点で、イベントBeanとSpring Beanは類似しており、EPNでどちらを使用するかは開発者の判断に任されています。Springへのレガシー統合にはSpring Beanを使用します。Oracle Event Processingの追加機能を最大限活用するには、イベントBeanを使用します。

たとえば、Oracle Event Processing監視フレームワークを使用したイベントBeanの監視、構成フレームワーク・メタデータ注釈の利用、イベントBeanをパス・スルーするイベントの記録と再生などが行えます。イベントBeanは、Oracle Event Processing APIインタフェースを実装するかわりに、EPNアセンブリ・ファイル宣言にメソッドを指定することにより、Oracle Event Processing Beanライフサイクルに参加することもできます。

子要素

wlevs:event-beanアプリケーション・アセンブリ要素は、次の子要素をサポートします。

- wlevs:listener

- wlevs:instance-property

- wlevs:property

属性

表2-10 wlevs:event-beanアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

id

このコンポーネントの一意の識別子。

この識別子は、このイベントBeanのXML構成ファイル内の<name>要素に対応している必要があります(その要素が存在する場合)。

String

はい。

advertise

このサービスをOSGiレジストリに公開します。

有効な値は、trueおよびfalseです。デフォルトはfalseです。

Boolean

いいえ。

listeners

このコンポーネントをリスニングするコンポーネントを指定します。

この属性は、コンポーネントを宣言した要素のid属性の値に設定します。

String

いいえ。

class

このイベントBeanを実装するJavaクラスを指定します。BeanによるOracle Event Processingインタフェースの実装は必要ありません。

providerまたはclass属性のどちらかを指定する必要がありますが、両方は指定できません。両方を指定すると例外が発生します。

provider

サービス・プロバイダを指定します。

この場合、この特定のプロバイダ名で登録されたEDEファクトリがアプリケーション内に存在する必要があります。

providerまたはclass属性のどちらかを指定する必要がありますが、両方は指定できません。両方を指定すると例外が発生します。

String

いいえ。

onevent-method

ライフサイクルのonEventメソッドに対応したイベントBean実装のメソッドを指定します。

Oracle Event Processingは、イベントBeanがイベントを受け取ったときにこのメソッドを呼び出します。

このライフサイクル属性を使用すると、イベントBean実装によるOracle Event Processingインタフェースの明示的な実装は必要ありません。

String

いいえ

init-method

ライフサイクルのinitメソッドに対応したイベントBean実装のメソッドを指定します。

Oracle Event Processingは、指定されたすべてのインスタンス・プロパティを設定した後、このメソッドを呼び出します。このメソッドを使用すると、Beanインスタンスは、すべてのBeanプロパティが設定済であるときに限って可能な初期化を実行し、構成が正しくない場合は例外をスローできます。

このライフサイクル属性を使用すると、イベントBean実装によるOracle Event Processingインタフェースの明示的な実装は必要ありません。

String

いいえ

activate-method

ライフサイクルのactivateメソッドに対応したイベントBean実装のメソッドを指定します。

Oracle Event Processingは、Beanの動的構成が完了した後で、このメソッドを呼び出します。このメソッドを使用すると、Beanインスタンスは、すべての動的Beanプロパティが設定済であり、かつEPNが接続済であるときに限って可能な初期化を実行できます。

このライフサイクル属性を使用すると、イベントBean実装によるOracle Event Processingインタフェースの明示的な実装は必要ありません。

String

いいえ

suspend-method

ライフサイクルのsuspendメソッドに対応したイベントBean実装のメソッドを指定します。

Oracle Event Processingは、アプリケーションが一時停止されたときに、このメソッドを呼び出します。

このライフサイクル属性を使用すると、イベントBean実装によるOracle Event Processingインタフェースの明示的な実装は必要ありません。

String

いいえ

destroy-method

ライフサイクルのdestroyメソッドに対応したイベントBean実装のメソッドを指定します。

Oracle Event Processingは、アプリケーションが停止したときに、このメソッドを呼び出します。

このライフサイクル属性を使用すると、イベントBean実装によるOracle Event Processingインタフェースの明示的な実装は必要ありません。

String

いいえ

例

次の例は、EPNアセンブリ・ファイルでのwlevs:event-bean要素の使用方法を示しています。この例では、myBeanというイベントBeanがクラスcom.customer.SomeEventBeanを使用して実装されています。myProcessorというコンポーネントがmyBeanイベントBeanからイベントを受け取ります。

<wlevs:event-bean id="myBean" class="com.customer.SomeEventBean" >
<wlevs:listener ref="myProcessor" />
</wlevs:event-bean>

2.13 wlevs:event-type

Oracle Event Processingアプリケーションで使用するイベント・タイプの定義を指定します。アプリケーションのイベント・タイプを定義したら、定義したイベント・タイプをアダプタ・クラスおよびビジネス・クラスのPOJO内で、またOracle CQLルールで参照できます。

次の方法でイベント・タイプを定義できます。

- イベント・タイプを表現するJavaBeanクラスを作成し、その完全修飾したクラス名を、wlevs:class子要素を使用して指定します。

- wlevs:properties子要素を使用して、イベント・タイプのプロパティを宣言的に指定します。

wlevs:event-typeの子としてwlevs:classまたはwlevs:properties のどちらかを指定できますが、両方を同時に指定することはできません。

ベスト・プラクティスは、wlevs:class子要素を使用してイベント・タイプを定義することです。そうすることで、指定したJavaBeanクラスを再利用でき、イベント・タイプの形を正確に制御できます。

子要素

wlevs:event-typeアプリケーション・アセンブリ要素は、次の子要素をサポートします。

- wlevs:class

- wlevs:metadata (非推奨)

- wlevs:properties

- wlevs:property

属性

表2-11 wlevs:event-typeアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

id

このイベント・タイプの一意の識別子を指定します。

この属性を指定しない場合は、Oracle Event Processingによって識別子が自動的に生成されます。

String

いいえ。

type-name

このイベント・タイプの名前を指定します。

これは、アダプタ、ビジネスPOJO、またはOracle CQLルール内でイベント・タイプを参照するときに使用する名前です。

String

はい。

object-support

Javaオブジェクトを完全にサポートするかどうかを指定します。設定できる値はtrue、falseおよびobject-relationalで、デフォルト値はobject-relationalです。

falseに設定すると、Javaプリミティブ・ラッパー(java.lang.Integerなど)およびjava.lang.Stringはプリミティブ・タイプとして処理されます。

trueに設定すると、Javaプリミティブ・ラッパーはクラスとして処理されます。

object-relationalに設定すると、Javaプリミティブ・ラッパーはストリームではなくリレーションとして処理されます。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:event-type要素の使用方法を示しています。この例では、イベント・タイプの名前はSimpleEventで、その定義はwlevs:propertyによって決定されます。type属性の値はcom.bea.wlevs.ede.api.Typeクラスに適合する必要があります。

<wlevs:event-type-repository>
<wlevs:event-type id="messagecounts" type-name="SimpleEvent">
<wlevs:properties>
<wlevs:property name="msg" type="char" />
<wlevs:property name="count" type="long" />
<wlevs:property name="time_stamp" type="timestamp" />
</wlevs:properties>
</wlevs:event-type>
...
</wlevs:event-type-repository>

2.14 wlevs:event-type-repository

この要素を使用して、複数のwlevs:event-type要素をまとめてグループ化します。各要素は、アプリケーション全体で使用するイベント・タイプを登録するために使用されます。

子要素

wlevs:event-type-repositoryアプリケーション・アセンブリ要素は、wlevs:event-type子要素をサポートします。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:event-type-repository要素の使用方法を示しています。

この例では、wlevs:event-type-repository要素で単独のwlevs:event-type要素をグループ化し、HelloWorldEventという1つのイベント・タイプを宣言しています。詳細は、「wlevs:event-type」を参照してください。

<wlevs:event-type-repository>
<wlevs:event-type type-name="HelloWorldEvent">
<wlevs:class>
com.bea.wlevs.event.example.helloworld.HelloWorldEvent
</wlevs:class>
</wlevs:event-type>
</wlevs:event-type-repository>

2.15 wlevs:expression

イベント処理のアプリケーション・タイムスタンプとして使用するwlevs:application-timestampedに算術式を指定するためにこの要素を使用します。詳細は、『Oracle Event Processing Oracle CQL言語リファレンス』のApplication-Timestampedストリームに関する項を参照してください。

例

次の例は、明示的にアプリケーション・タイムスタンプのチャネルを指定するために、EPNアセンブリ・ファイルでのwlevs:expression要素を使用する方法について説明します。この例では、wlevs:expression要素は各イベントにタイムスタンプを割り当てるために使用する算術式を定義します。

<wlevs:channel id="fxMarketAmerOut" >
<wlevs:application-timestamped>
<wlevs:expression>mytime + 10</wlevs:expression>
</wlevs:application-timestamped>
</wlevs:channel>

2.16 wlevs:factory

この要素を使用して、ファクトリ・クラスをサービスとして登録します。この要素を使用することによりアプリケーションのSpring-OSGiインタフェースへの依存を軽減します。このファクトリのJavaソースでcom.bea.wlevs.ede.api.Factoryインタフェースを実装する必要があります。

ファクトリ要素ではサービスのプロパティを指定できません。サービスのプロパティを指定する必要がある場合は、かわりにSpring- OSGi osgi:service要素を使用する必要があります。

属性

表2-12 wlevs:factoryアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

class

ファクトリを実装するJavaクラスを指定します。このクラスは、com.bea.wlevs.ede.api.Factoryインタフェースを実装する必要があります。

String

はい。

provider-name

このプロバイダの名前を指定します。後で、このファクトリを使用するコンポーネント内でこの名前を参照します。

String

はい。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:factory要素の使用方法を示しています。この例では、com.customer.MyEventSourceFactoryによって実装されたファクトリは、myEventSourceFactoryというプロバイダ名になっています。

<wlevs:factory provider-name="myEventSourceFactory"
class="com.customer.MyEventSourceFactory" />

2.17 wlevs:function

この要素を使用して、プロセッサ用のユーザー定義の関数を含むBeanを指定します。『Oracle Event Processing Oracle CQL言語リファレンス』の単一行関数に関する項および集計関数に関する項を参照してください。

この要素は常に、ユーザー定義の関数を実装するSpringbeanを指定する参照または子としてSpringの標準bean要素を持ちます。

Oracle CQLプロセッサ上の単一行関数については、exec-method属性を使用して、実装クラスに1つのメソッドを関数として指定します。この場合は、メソッドはパブリックであり、名前によって一意に識別できる必要があります。このメソッドはオーバーライドできません。function-name属性を使用して、exec-method名の別名を指定できます。Oracle CQL問合せでは、exec-method (名前またはfunction-name別名による)のみをコールします。

Oracle CQLプロセッサ上の集計関数については、Spring beanはcom.bea.wlevs.processorパッケージからの次のインタフェースを実装する必要があります。

- AggregationFunctionFactory

- AggregationFunction

集計関数については、Oracle CQLプロセッサに対してexec-method属性は適用できません。

属性

表2-13 wlevs:functionアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

exec-method

Oracle CQLプロセッサ上のユーザー定義の「単一行」関数について、この要素は、関数を実装するSpring beanのメソッド名を指定します。この場合は、メソッドはパブリックであり、一意の名前を持つ(つまり、メソッドをオーバーライドできない状態である)ことが必要です。

Oracle CQLプロセッサ上のユーザー定義集計関数については、この属性は適用できません。

String

いいえ。

function-name

Oracle CQLプロセッサ上のユーザー定義の単一行関数については、この属性を使用してexec-method名の別名を定義します。そうすると、Oracle CQL問合せでは、exec-nameのかわりにfunction-nameが使用できます。

Oracle CQLプロセッサ上のユーザー定義の集計関数については、この属性を使用して実装のSpring beanクラス名の別名を定義します。

デフォルト値はSpring Bean名です。

String

いいえ。

ref

関数を実装するSpringbeanを指定します。

この属性は、Springbeanのid属性の値に設定します。

Spring bean要素をwlevs:function要素の子とするかわりに使用できます。

String

いいえ。

例

次の例は、Oracle CQLプロセッサでのwlevs:function要素およびその属性の使用方法を示しています。

例2-1 Oracle CQLプロセッサ用の単一行、ユーザー定義関数の実装

package com.bea.wlevs.example.function;

public class MyMod {
public Object execute(int arg0, int arg1) {
return new Integer(arg0 % arg1);
}
}

例2-2 Oracle CQLプロセッサの単一行関数のアセンブリ・ファイルでの定義

<wlevs:processor id="testProcessor">
<wlevs:listener ref="providerCache"/>
<wlevs:listener ref="outputCache"/>
<wlevs:cache-source ref="testCache"/>
<wlevs:function function-name="mymod" exec-method="execute" />
<bean class="com.bea.wlevs.example.function.MyMod"/>
</wlevs:function>
</wlevs:processor>

例2-3 Oracle CQL問合せでの関数の呼出し

...
<view id="v1" schema="c1 c2 c3 c4"><![CDATA[
select
mymod(c1, 100), c2, c3, c4
from
S1
></view>
...
<query id="q1"><![CDATA[
select * from v1 [partition by c1 rows 1] where c4 - c3 = 2.3
></query>
...

例2-4 Oracle CQLプロセッサ用のユーザー定義集計関数の実装

package com.bea.wlevs.test.functions;

import com.bea.wlevs.processor.AggregationFunction;
import com.bea.wlevs.processor.AggregationFunctionFactory;

public class Variance implements AggregationFunctionFactory, AggregationFunction {

private int count;
private float sum;
private float sumSquare;

public Class<?>[] getArgumentTypes() {
return new Class<?>[] {Integer.class};
}

public Class<?> getReturnType() {
return Float.class;
}

public AggregationFunction newAggregationFunction() {
return new Variance();
}

public void releaseAggregationFunction(AggregationFunction function) {
}

public Object handleMinus(Object[] params) {
if (params != null && params.length == 1) {
Integer param = (Integer) params[0];
count--;
sum -= param;
sumSquare -= (param * param);
}

if (count == 0) {
return null;
} else {
return getVariance();
}
}

public Object handlePlus(Object[] params) {
if (params != null && params.length == 1) {
Integer param = (Integer) params[0];
count++;
sum += param;
sumSquare += (param * param);
}

if (count == 0) {
return null;
} else {
return getVariance();
}
}

public Float getVariance() {
float avg = sum / (float) count;
float avgSqr = avg * avg;
float var = sumSquare / (float)count - avgSqr;
return var;
}

public void initialize() {
count = 0;
sum = 0.0F;
sumSquare = 0.0F;
}

}

例2-5 Oracle CQLプロセッサの集計関数のアセンブリ・ファイルでの呼出し

<wlevs:processor id="testProcessor">
<wlevs:listener ref="providerCache"/>
<wlevs:listener ref="outputCache"/>
<wlevs:cache-source ref="testCache"/>
<wlevs:function function-name="var">
<bean class="com.bea.wlevs.test.functions.Variance"/>
</wlevs:function>
</wlevs:processor>

例2-6 Oracle CQL問合せでの集計関数の呼出し

...
<query id="uda6"><![CDATA[
select var(c2) from S4[range 3]
></query>
...

例2-7 アセンブリ・ファイルでのBean要素のネスト

<wlevs:processor id="testProcessor">
<wlevs:listener ref="providerCache"/>
<wlevs:listener ref="outputCache"/>
<wlevs:cache-source ref="testCache"/>
<wlevs:function function-name="testfunction">
<bean class="com.bea.wlevs.example.cache.function.TestFunction"/>
</wlevs:function>
</wlevs:processor>

例2-8 関数の外部で定義されたBean要素のアセンブリ・ファイルでの参照

<wlevs:processor id="testProcessor">
<wlevs:listener ref="providerCache"/>
<wlevs:listener ref="outputCache"/>
<wlevs:cache-source ref="testCache"/>
<wlevs:function function-name="testfunction" ref="testFunctionID" />
</wlevs:processor>
...
<bean id="testFunctionID" class="com.bea.wlevs.example.cache.function.TestFunction"/>

2.18 wlevs:instance-property

この要素は子要素であるコンポーネントのcreateステージ・インスタンスに適用するプロパティを指定します。これにより、ユーザー定義のステージ・プロパティの宣言的な構成が可能になります。

たとえば、wlevs:instance-propertyをwlevs:event-beanに指定する場合、Oracle Event Processingは、(クラスをインスタンス化するcom.bea.wlevs.spring.EventBeanFactoryBeanではなく)実装するJavaクラスで、該当するsetterメソッドを検索します。ファクトリのプロパティを指定するには、wlevs:propertyを使用します。

この要素は、wlevs:adapter、wlevs:event-bean、wlevs:processor、wlevs:channelまたはwlevs:caching-systemの子としてのみ使用されます。

wlevs:instance-property要素は、Spring propertyType型で定義されます。Springデータ型の詳細は、http://www.springframework.org/schema/beans/spring-beans-2.0.xsdを参照してください。

子要素

次のいずれかのSpring標準要素をwlevs:instance-property要素の子要素として指定できます。

- meta

- bean

- ref

- idref

- value

- null

- list

- set

- map

- props

属性

表2-14 wlevs:instance-propertyアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

name

JavaBeanのネーミング・ルールに従ってプロパティの名前を指定します。

String

はい。

ref

ネストされた<ref bean='...'/>要素へのショートカットです。

String

いいえ。

value

ネストされた<value>...</value>要素へのショートカットです。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:instance-property要素の使用方法を示しています。

<wlevs:event-bean id="pubsubCounterBeanRemote"
class="com.oracle.cep.example.httppubsub.RemoteEventCounter">
<wlevs:listener ref="pubsubRemote" />
<wlevs:instance-property name="expectedEvents" value="4000" />
</wlevs:event-bean>

この例では、イベントBean com.oracle.cep.example.httppubsub.RemoteEventCounterクラスから該当するsetterメソッドが提供されます。

private int expectedEvents;

public void setExpectedEvents(String expectedEvents) {
this.expectedEvents = new Integer(expectedEvents).intValue();
}

instance-propertyはStringタイプです。これは必要に応じてsetterメソッドで変換します。この例では、Stringはint値に変換されます。

setterメソッドの名前はJavaBeanネーミング・ルールに準拠している必要があります。この例では、setter名はsetExpectedEventsであり、これはJavaBeanのルールにより、wlevs:instance-property要素のname属性値expectedEventsに対応しています。name属性値がobjであり、setterメソッド名がsetObjectの場合、Oracle Event Processingから「無効なプロパティ」例外がスローされます。その場合、setter名はsetObjになります。

2.19 wlevs:listener

この要素を子とするコンポーネントにリスニングするコンポーネントを指定します。他の任意のコンポーネントのインスタンスをリスナーにできます。また、特定のwlevs:listenerコンポーネント内にコンポーネントの定義をネストして、親にリスニングするコンポーネントを指定できます。

警告:

ネストされた定義は、動的構成または動的モニターには使用できません。

この要素は、常にwlevs:adapter、wlevs:processor、wlevs:channelまたはwlevs:caching-systemの子です。

属性

表2-15 wlevs:listenerアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

ref

親コンポーネントをリスニングするコンポーネントを指定します。

この属性は、リスナー・コンポーネントのid属性の値に設定します。

リスナーをネストする場合は、この属性を指定しないでください。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:listener要素の使用方法を示しています。この例では、hellworldOutstreamコンポーネントはhelloworldProcessorコンポーネントにリスニングします。このEPNアセンブリ・ファイルには、一意の識別子がhelloworldOutstreamであるwlevs:adapter、wlevs:channelまたはwlevs:processor要素の宣言も含まれていると想定しています。

<wlevs:processor id="helloworldProcessor">
<wlevs:listener ref="helloworldOutstream"/>
</wlevs:processor>

2.20 wlevs:metadata

フィールドをSpring entry要素のグループとしてリストし、イベント・タイプの定義を指定します。イベント・タイプをこの方法で定義すると、Oracle Event ProcessingによりJavaクラスが自動的に生成されます。

entry要素のkey属性を使用してフィールドの名前を指定し、value属性を使用して、フィールドのデータ型を表現するJavaクラスを指定します。

この要素はwlevs:event-type要素の子としてのみ使用されます。

wlevs:metadata要素は、Spring mapType型として定義されます。このSpringデータ型の詳細は、http://www.springframework.org/schema/beans/spring-beans-2.0.xsdを参照してください。

子要素

wlevs:metadata要素は、1つ以上の標準Spring entry子要素を含むことができます。詳細は、http://www.springframework.org/schema/beans/spring-beans-2.0.xsdを参照してください。

属性

表2-16 wlevs:metadataアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

key-type

ネストされたentry要素のJavaデータ型を表現するデフォルトの完全修飾したクラス名です。

この属性は、entry要素をネストした場合にのみ使用できます。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:metadata要素の使用方法を示しています。この例では、wlevs:metadata要素は4つの標準Springentry要素をグループ化しています。これらの4つの要素は、ForeignExchangeEventの4つのフィールド、つまりsymbol、price、fromRateおよびtoRateを表現します。これらのフィールドのデータ型は、それぞれ、java.lang.String、java.lang.Double、java.lang.Stringおよびjava.lang.Stringです。

<wlevs:event-type type-name="ForeignExchangeEvent">
<wlevs:metadata>
<entry key="symbol" value="java.lang.String"/>
<entry key="price" value="java.lang.Double"/>
<entry key="fromRate" value="java.lang.String"/>
<entry key="toRate" value="java.lang.String"/>
</wlevs:metadata>
...
</wlevs:event-type>

2.21 wlevs:processor

この要素を使用して、Springアプリケーション・コンテキストに対してプロセッサを宣言します。

子要素

wlevs:processor Spring要素は、次の子要素をサポートします。

- wlevs:instance-property

- wlevs:listener

- wlevs:property

- wlevs:cache-source

- wlevs:table-source

- wlevs:function

属性

表2-17 wlevs:processorアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

id

このコンポーネントの一意の識別子。

この識別子は、このプロセッサのXML構成ファイルでの<name>要素に対応している必要があります(そうすることで、ネットワークのどのプロセッサ・コンポーネントに対してどのOracle CQLルールを実行するかを、Oracle Event Processingに指定します)。

String

はい。

advertise

このサービスをOSGiレジストリに公開します。

有効な値は、trueおよびfalseです。デフォルト値はfalseです。

Boolean

いいえ。

listeners

このコンポーネントをリスニングするコンポーネントを指定します。

この属性は、コンポーネントを宣言した要素のid属性の値に設定します。

String

いいえ。

provider

Oracle CQLなど、プロセッサの言語プロバイダを指定します。

有効な値はcqlです。

デフォルト値はcqlです。

String

いいえ。

queryURL

このプロセッサのOracle CQLルール定義ファイルを示すURLを指定します。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:processor要素の使用方法を示しています。この例は、spreaderというIDを持つプロセッサを宣言する方法を示しています。つまり、このプロセッサのOracle CQLルールを含むプロセッサ構成ファイル内で、name要素に値spreaderが含まれている必要があります。そうすることで、この特定のプロセッサに対してどのOracle CQLルールを登録する必要があるかをOracle Event Processingに指定します。

<wlevs:processor id="spreader" />

2.22 wlevs:properties

イベント・タイプのプロパティのリストを定義します。この要素は、タプルまたはjava.util.Mapに基づくタイプなどのイベント・タイプを宣言的に定義するときに使用します。JavaBeanクラスから作成されたイベント・タイプの場合、クラスでアクセッサ・メソッドによってプロパティを定義できます。

子要素

wlevs:propertiesアプリケーション・アセンブリ要素は、wlevs:property子要素をサポートしています。

属性

表2-18 wlevs:propertiesアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

type

このイベント・タイプの作成元のタイプを指定します。使用できる値はタプルとマップで、デフォルト値はタプルです。

この属性の値がmapの場合、Oracle Event Processingはイベント・タイプをjava.util.Mapインスタンスとしてインスタンス化します。それ以外の場合、タイプはタプルとしてインスタンス化されます。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:properties要素の使用方法を示しています。この例では、イベント・タイプの名前はSimpleEventで、その定義はwlevs:propertyによって決定されます。type属性の値はcom.bea.wlevs.ede.api.Typeクラスに適合する必要があります。

<wlevs:event-type-repository>
<wlevs:event-type type-name="SimpleEvent">
<wlevs:properties>
<wlevs:property name="msg" type="char" />
<wlevs:property name="count" type="long" />
<wlevs:property name="time_stamp" type="timestamp" />
</wlevs:properties>
</wlevs:event-type>
...
</wlevs:event-type-repository>

2.23 wlevs:property

タプルまたはjava.util.Mapに基づくイベント・タイプなど、宣言的に作成するイベント・タイプのプロパティを定義します。このwlevs:property要素は、wlevs:properties要素の子として使用します。

この要素は、Spring beanプロパティ要素の拡張であるwlevs:property要素とは異なることに注意してください。この要素は常にwlevs:properties要素の子として使用する必要があります。

属性

表2-19 wlevs:propertyアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

name

イベント・プロパティの名前。

String

はい。

type

イベント・プロパティのタイプ。

このイベント・タイプがタプルとして定義されている場合、タイプの属性値はcom.bea.wlevs.ede.api.Typeによって定義されているいずれかのOCEPネイティブ・タイプである必要があります。bigint、boolean、byte、char、double、float、int、interval、object、sqlxml、timestamp、unknown、xmltypeなどが含まれます。

このイベント・タイプがマップとして定義されている場合、タイプの属性値は、イベント・タイプを定義するアプリケーションのクラス・ローダーで使用できるJavaクラスの完全修飾名です。Javaクラス名として使用する文字列は、Class.forName()と同じ規則に準拠する必要があります。さらに、Javaプリミティブも使用できます(int、floatなど)。

最後に、Javaクラス名に文字「[]」を追加して配列を指定できます。

String

はい。

length

プロパティが配列タイプの場合、これによって配列の長さが指定されます。タイプが配列ではない場合、および長さが指定されている場合、これは無視されます。

.

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:property要素の使用方法を示しています。この例では、イベント・タイプの名前はSimpleEventで、その定義はwlevs:propertyによって決定されます。type属性の値はcom.bea.wlevs.ede.api.Typeクラスに適合する必要があります。

<wlevs:event-type-repository>
<wlevs:event-type type-name="SimpleEvent">
<wlevs:properties>
<wlevs:property name="msg" type="char" />
<wlevs:property name="count" type="long" />
<wlevs:property name="time_stamp" type="timestamp" />
</wlevs:properties>
</wlevs:event-type>
...
</wlevs:event-type-repository>

2.24 wlevs:property

イベント・タイプに適用するカスタム・プロパティを指定します。

たとえば、wlevs:propertyをwlevs:event-beanに指定する場合、Oracle Event Processingは、(実装するJavaクラスではなく)Javaクラスをインスタンス化するcom.bea.wlevs.spring.EventBeanFactoryBeanで、該当するsetterメソッドを検索します。Javaクラスのプロパティを指定するには、wlevs:instance-propertyを使用します。

この要素は、wlevs:adapter、wlevs:event-bean、wlevs:event-type、wlevs:processor、wlevs:channelまたはwlevs:caching-systemの子としてのみ使用されます。

wlevs:property要素は、Spring propertyType型で定義されます。Springデータ型の詳細は、http://www.springframework.org/schema/beans/spring-beans-2.0.xsdを参照してください。

子要素

次のいずれかのSpring標準要素をwlevs:property要素の子要素として指定できます。

- meta

- bean

- ref

- idref

- value

- null

- list

- set

- map

- props

属性

表2-20 wlevs:propertyアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

name

JavaBeanのネーミング・ルールに従ってプロパティの名前を指定します。

String

はい。

ref

ネストされた<ref bean='...'/>要素へのショートカットです。

String

いいえ。

value

ネストされた<value>...</value>要素へのショートカットです。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:property要素の使用方法を示しています。この例では、wlevs:property要素を使用して、ForeignExchangeEventのカスタム・プロパティbuilderFactoryを定義しています。このプロパティでは、Spring標準のbean要素を使用して、ForeignExchangeEventsを作成するためのファクトリとして使用されるSpring Beanを指定します。

<wlevs:event-type type-name="ForeignExchangeEvent">
<wlevs:metadata>
<entry key="symbol" value="java.lang.String"/>
<entry key="price" value="java.lang.Double"/>
</wlevs:metadata>
<wlevs:property name="builderFactory">
<bean id="builderFactory"
class="com.bea.wlevs.example.fx.ForeignExchangeBuilderFactory"/>
</wlevs:property>
</wlevs:event-type>

2.25 wlevs:source

このコンポーネントのイベント・ソースを指定します。イベント・ソースは、イベントが送られてくる元のコンポーネントです。イベント・ソースを指定することは、このコンポーネントを別のコンポーネントのイベント・リスナーとして指定するのと同等です。

また、特定のwlevs:sourceコンポーネント内にコンポーネントの定義をネストして、コンポーネント・ソースを指定できます。この要素は、wlevs:channelまたはwlevs:processorの子です。

注意:

ネストされた定義は、動的構成または動的モニターには使用できません。

属性

表2-21 wlevs:sourceアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

ref

この要素が子であるチャネルのソースを指定します。

この属性は、ソース・コンポーネントのid属性の値に設定します。

この属性は、ソースをネストする場合には指定しません。

String

いいえ。

例

次の例は、EPNアセンブリ・ファイルでのwlevs:source要素の使用方法を示しています。この例では、idがhelloworldAdapterであるコンポーネントが、helloworldInstreamというチャネル・コンポーネントのソースです。

<wlevs:channel id="helloworldInstream">
<wlevs:listener ref="helloworldProcessor"/>
<wlevs:source ref="helloworldAdapter"/>
</wlevs:channel>

2.26 wlevs:table

イベント・シンクまたはイベント・ソースとして機能できるリレーショナル・データベース表を指定します。

2.26.1 表ソース

1つ以上のプロセッサ・コンポーネントにイベント・データを提供するリレーショナル・データベース表。プロセッサ・コンポーネントを、表ソースを直接参照するOracle CQL問合せに関連付けます。

属性

表2-22 wlevs:tableアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

id

このコンポーネントの一意の識別子。

この識別子は、この表のXML構成ファイル内の<name>要素に対応している必要があります。

String

はい。

event-type

イベント・タイプ・リポジトリで定義されているようにこの表に関連付けられているイベント・タイプです。

String

はい。

data-source

このデータベース表へのアクセスに使用される、Oracle Event Processingサーバーの構成ファイルで定義されるリレーショナル・データ・ソース名です。

String

はい

table-name

リレーショナル・データベース表の名前。表ソースとしてwlevs:tableを使用する場合、table-nameはオプションです。表シンクとしてwlevs:tableを使用する場合、table-nameは必須です。

String

いいえ

external-rows-threshold

表ソースを結合の外部ソースとして使用する場合は、外部の行しきい値を指定します。表シンクには適用されません。

Long

いいえ

例

次の例は、EPNアセンブリ・ファイルでのwlevs:table要素の使用方法を示しています。この例では、wlevs:processorはwlevs:table-source要素を使用して表を参照しています。

<wlevs:table id="Stock" event-type="StockEvent" data-source="StockDs" />

<wlevs:processor id="proc">
<wlevs:table-source ref="Stock" />
</wlevs:processor>

2.26.2 表シンク

Oracle CQLプロセッサでEPNに入るイベント・データを受信し、そのデータを永続データ・ストアに格納する際の表タグであるリレーショナル・データベース表コンポーネントです。この機能は、リレーショナル・データベース表の構造を制御できるため、記録機能より柔軟です。逆に記録機能では、記録と再生の機能で最適に動作する形式でイベントを格納します。

イベントは、永続データ・ストアとして格納されると、EPNで次のステージに送られます。永続データベース表を作成する際には、列名がイベント・タイプのプロパティ名と同じになるようにしてください。

属性

表2-23 wlevs:tableアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

id

このコンポーネントの一意の識別子。

この識別子は、この表のXML構成ファイル内の<name>要素に対応している必要があります。

String

はい

event-type

イベント・タイプ・リポジトリで定義されているようにこの表に関連付けられているイベント・タイプです。

String

はい

data-source

このデータベース表へのアクセスに使用される、Oracle Event Processingサーバーの構成ファイルで定義されるリレーショナル・データ・ソース名です。

String

はい

table-name

リレーショナル・データベース表の名前。表ソースとしてwlevs:tableを使用する場合、table-nameはオプションです。表シンクとしてwlevs:tableを使用する場合、table-nameは必須です。

String

はい

key-properties

リレーショナル・データベース表の一意キー値を形成します。一意キーは、イベント・シンクによって実行される更新および削除操作に必要です。

String

はい

例

次の例は、HelloWorldの例で表シンクとして追加された最終ステージです。表シンクは、HelloWorldEventタイプのイベントをhelloDataSourceという名前のデータ・ソースに格納します。

<wlevs:channel id="helloworldOutputChannel" event-type="HelloWorldEvent"
advertise="true">
<wlevs:listener ref="tableSink"/>
<wlevs:source ref="helloworldProcessor"/>
</wlevs:channel>
<wlevs:table id="tableSink" event-type="HelloWorldEvent" key-properties="message"
data-source="helloDataSource" table-name="HelloMessages"/>

2.27 wlevs:table-source

このプロセッサ・コンポーネントにデータを提供するリレーショナル・データベース表を指定します。プロセッサ・コンポーネントは、表を直接参照するOracle CQL問合せに関連付けられます。この要素は、wlevs:processor要素のみの子です。

属性

表2-24 wlevs:table-sourceアプリケーション・アセンブリ要素の属性

属性

説明

データ型

必須?

ref

プロセッサ・コンポーネントのデータのソースであるリレーショナル・データベース表を指定します。wlevs:table要素のid属性値にrefを設定します。

String

はい。

例

次の例は、アセンブリ・ファイルでのwlevs:table-source要素の使用方法を示しています。

<wlevs:table id="Stock" event-type="StockEvent" data-source="StockDs" />

<wlevs:processor id="proc">
<wlevs:table-source ref="Stock" />
</wlevs:processor>

3 コンポーネント要素の階層

コンポーネント要素の階層は、EPNコンポーネントの構成に使用する要素の継承関係を示しています。コンポーネント要素は、Oracle/Middleware/my_oep/oep/xsd/wlevs_application_config.xsdスキーマで定義されています。詳細は、「コンポーネント構成スキーマ」および「イベントの記録および再生スキーマ」を参照してください。

この章では、最上位コンポーネント要素の階層を示します。この章で説明しているすべての要素は、このマニュアルの残りの章の説明にリンクしています。

この章は、次の項で構成されており、またこれは最上位要素の一覧でもあります。

- adapter

- http-pub-sub-adapter

- jms-adapter

- edn-adapter

- csv-adapter

- obr-adapter

- channel

- processor

- event-bean

- caching-system

- coherence-caching-system

- diagnostic-profiles

- jaxb-mapper

- rest-adapter

- csv-mapper

- rmi-adapter.

3.1 adapter

すべてのOracle Event Processingアダプタには、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-offset
start
duration
work-manager-name
netio
provider-name
num-threads
accept-backlog

3.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
work-manager-name
netio
netio
num-threads
accept-backlog
One of:
server-context-path
server-url
channel (http-pub-sub-adapter Child Element)
event-type
user
One of:
password
password

3.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
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

3.4 edn-adapter

edn-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
work-manager-name
netio
provider-name
num-threads
accept-backlog
edl-file
schema-file
validate
package-name
metadata
raw-xml-content
jndi-provider-url
jndi-factory
user
one of:
password
encrypted-password
delivery-mode
priority
time-to-live
durable-subscription-name
client-id

3.5 csv-adapter

csv-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
time-range-offset
start
end
schedule-time-range-offset
start
duration
work-manager-name
netio
provider-name
num-threads
accept-backlog
event-interval
unit
source-url
initial-delay
unit
output-file
append

3.6 obr-adapter

obr-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
work-manager-name
netio
provider-name
num-threads
accept-backlog
dictionary-url
decision-function

3.7 channel

channel
name
record-parameters
dataset-name
event-type-list
event-type-name
provider-name
store-policy-parameters
parameter
name
value
max-size
max-threads
recording-session-name
One of:
time-range
start
end
or
time-range-offset
start
duration
batch-size
batch-time-out
playback-parameters
playback-parameters
event-type-list
event-type
provider-name
store-policy-parameters
parameter
name
value
max-size
max-threads
One of:
time-range
start
end
or
time-range-offset
start
duration
or
schedule-time-range
start
end
or
schedule-time-range-offset
start
duration
playback-speed
repeat
inject-parameters
active
channel-name
trace-parameters
active
channel-name
max-size
max-threads
selector
heartbeat
partition-order-capacity
offer-timeout
fail-when-rejected

3.8 processor

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
time-range-offset
start
duration
rules
query
view
bindings (processor)
params

3.9 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-threads
max-threads
time-range
start
end
time-range-offset
start
duration
schedule-time-range
start
end
schedule-time-range-offset
start
duration

3.10 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

3.11 coherence-caching-system

coherence-caching-system
name
coherence-cache-config
coherence-cluster-config

3.12 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

3.13 jaxb-mapper

jaxb-mapper
name
event-type-name
context-path
metadata
validate
schema-file

3.14 rest-adapter

rest-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
work-manager-name
netio
provider-name
num-threads
accept-backlog
event-type-name
context-path

3.15 csv-mapper

csv-mapper
name
event-type-name
context-path
metadata
validate
schema
event-interval
unit
initial-delay
unit

3.16 rmi-adapter

rmi-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
work-manager-name
netio
provider-name
num-threads
accept-backlog
jndi-name
jndi-provider-url
jndi-factory
user
one of:
password
encrypted-password

4 コンポーネント構成スキーマ

この章では、Oracle/Middleware/my_osa/osa/wlevs_application_config.xsdスキーマの要素へのリファレンスを示します。このスキーマは、Oracle Event Processingアプリケーション・コンポーネント(アダプタ、チャネル、キャッシング・システム、イベントBeanなど)を構成するために使用するXMLファイルの背後にあります。

この章の内容は次のとおりです。

- accept-backlog

- active

- adapter

- amount

- append

- application

- average-interval

- average-latency

- bindings (jms-adapter)

- bindings (processor)

- buffer-size

- buffer-write-attempts

- buffer-write-timeout

- cache

- caching-system

- channel

- channel (http-pub-sub-adapterの子要素)

- channel-name

- client-id

- coherence-cache-config

- coherence-caching-system

- coherence-cluster-config

- collect-interval

- concurrent-consumers

- configuration

- config-name

- config-value

- connection-jndi-name

- connection-encrypted-password

- connection-password

- connection-user

- context-path

- csv-adapter

- csv-mapper

- database

- decision-function

- default-session

- delivery-mode

- destination-jndi-name

- destination-name

- destination-type

- diagnostic-profiles

- dictionary-url

- direction

- durable-subscription

- durable-subscription-name

- duration

- edl-file

- edn-adapter

- enabled

- encrypted-password

- end

- end-location

- event-bean

- event-interval

- event-type

- event-type-name

- eviction-policy

- fail-when-rejected

- group-binding

- heartbeat

- http-pub-sub-adapter

- idle-time

- initial-delay

- inject-parameters

- jaxb-mapper

- jms-adapter

- jndi-factory

- jndi-name

- jndi-provider-url

- listeners

- location

- max-latency

- max-size

- max-threads

- message-selector

- metadata

- name

- netio

- num-threads

- obr-adapter

- offer-timeout

- output-file

- package-name

- param

- parameter

- params

- partition-order-capacity

- password

- playback-parameters

- priority

- processor (Oracle CQL)

- profile

- query

- raw-xml-content

- record-parameters

- repeat

- rest-adapter

- rest-outbound-adapter

- rmi-adapter

- rules

- schema

- schema-file

- selector

- server-context-path

- server-url

- session

- session-ack-mode-name

- session-transacted

- source-url

- stage

- start

- start-location

- start-stage

- threshold

- throughput

- throughput-interval

- time-to-live

- trace-parameters

- unit

- user

- validate

- value

- view

- work-manager

- work-manager-name

- write-behind

- write-none

- write-through

4.1 accept-backlog

この要素を使用すると、ソケット上で許可される待機中の接続の最大数を定義できます。この要素はnetio要素内でのみ適用できます。この要素には、子要素も属性もありません。

次の例では、コンポーネント構成ファイル内でのaccept-backlog要素の使用方法を示します。

<netio> <provider-name>providerCache</provider-name>
<num-threads>1000</num-threads>
<accept-backlog>50</accept-backlog>
</netio>

4.2 active

active要素を使用すると、イベント・トレースのオンとオフを切り替えることができます。trueの場合、イベント・トレースはオンです。falseの場合、イベント・トレースはオフです。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>

4.3 adapter

この要素を使用すると、カスタム・アダプタ・コンポーネントを定義できます。この要素には、次の子要素があり、属性はありません。

- name

- record-parameters

- playback-parameters

- work-manager-name

- netio

次の特殊なadapter要素も参照してください。http-pub-sub-adapter、jms-adapter、edn-adapter、csv-adapter、obr-adapter、またはrmi-adapterの各要素。

次の例はコンポーネント構成ファイル内のadapter要素の使用方法を示します。この例では、adapterの一意の識別子はtrackdataです。

<adapter>
<name>trackdata</name>
<symbols>
<symbol>BEAS</symbol>
<symbol>IBM</symbol>
</symbols>
</adapter>

adapterコンポーネント構成要素は、次の子要素をサポートしており、属性はありません。

4.4 amount

この要素を使用すると、診断プロファイルの期間を定義できます。amount要素には、子要素も属性もありません。

この要素は、次のいずれかの要素とともに使用できます。

- average-interval

- collect-interval

- throughput-interval

次の例は、コンポーネント構成ファイル内の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>

4.5 append

append要素をCSVアウトバウンド・アダプタとともに使用すると、イベント・データを出力CSVファイルに追加するかどうかを指定できます(存在する場合)。trueの場合、Oracle Event Processingにより、既存のCSV出力ファイルにデータが付加されます。falseの場合、Oracle Event Processingにより、新しいCSVファイルが作成されるか、同じ名前の既存のCSVファイルが上書きされます。この要素には、子要素も属性もありません。

次の例はStockTradeCSVOutboundAdapterのアセンブリ・ファイル・エントリを示します。append要素の値はfalseです。

<wlevs:adapter id="StockTradeCSVOutboundAdapter" provider="csv-outbound">
<wlevs:instance-property name="eventType" value="TradeEvent"/>
<wlevs:instance-property name="outputFile"
value="/scratch/mpawlan/oep9-19/oep/utils/load-generator/StockData.csv"/>
<wlevs:instance-property name="append" value="false"/>
</wlevs:adapter>

4.6 application

この要素を使用すると、Oracle Event Processingサーバーにより外部ステージに適用される、アプリケーションのタイプを定義できます。診断プロファイルでは、この要素は常にdiagnosticの値を持ちます。この要素には、子要素も属性もありません。

次の例は、コンポーネント構成ファイル内の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>

4.7 average-interval

average-interval要素を使用すると、メトリックを収集する時間間隔を定義できます。この要素には、次の子要素があり、属性はありません。

- amount

- unit

次の例は、コンポーネント構成ファイル内の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>

4.8 average-latency

診断プロファイルにおける平均待機時間の計算を定義するためにこの要素を使用します。

次の例はコンポーネント構成ファイル内のaverage-latency要素の使用方法を示します。

- name

- collect-interval

- start-location

- end-location

- threshold

<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>

4.9 bindings (jms-adapter)

Oracle Event Processingアプリケーションでは、com.oracle.cep.cluster.hagroups.ActiveActiveGroupBeanクラスを使用して、通知グループで着信JMSストリームをパーティション化できます。これにより、jms-adapter bindings要素を使用して、通知グループを特定のmessage-selector値と関連付けることができます。

この要素には、group-binding子要素があり、属性はありません。

次の例はコンポーネント構成ファイル内のbindings要素の使用方法を示します。この構成を持つアプリケーションがサーバーにデプロイされたときに、ActiveActiveGroupBean_group1が含まれるcluster要素のgroups子要素がサーバーにある場合、次のようになります。

- 400より大きいacctidプロパティを持つイベントが処理されます。

- CONDITIONパラメータはacctid > 400として定義されます。

<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>

4.10 bindings (processor)

プロセッサのbindings要素を使用すると、プロセッサ・コンポーネントにおいて1つ以上のパラメータ化されたOracle CQLルールのバインドを定義できます。bindingsコンポーネント構成要素には、binding子要素があり、属性はありません。

次の例は、コンポーネント構成ファイル内の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>

4.11 buffer-size

buffer-size要素を使用すると、内部ストア・バッファのサイズを定義できます。このバッファは、ストアに書き込む必要がある非同期更新を一時的に保存するために使用されます。動的更新はサポートしていません。この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内の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>

4.12 buffer-write-attempts

buffer-write-attempts要素を使用すると、ユーザー・スレッドがストア・バッファに書き込むために行う試行回数を定義できます。ユーザー・スレッドとは、キャッシュ・エントリの作成または更新を行うスレッドです。ユーザー・スレッドがストア・バッファに書き込むことができない場合(すべての書き込み試行が失敗した場合)、同期的にストアを起動します。この要素は動的に変更されます。

この要素には、子要素も属性もありません。

次の例は、コンポーネント構成ファイル内の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>

4.13 buffer-write-timeout

buffer-write-timeout要素を使用すると、ユーザー・スレッドがストア・バッファへの書き込み試行を中断するまでの待機時間をミリ秒単位で定義できます。ストア・バッファへの書き込み試行が失敗するのは、バッファがいっぱいの場合のみです。タイムアウト後は以降のバッファへの書き込み試行は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>

4.14 cache

cache要素を使用すると、コンポーネントのキャッシュを定義できます。cacheは、イベントを格納する一時記憶域で、Oracle Event Processingアプリケーションの全体的なパフォーマンスを改善することのみを目的として作成されます。キャッシュは、アプリケーションが正常に機能するためには必要ありません。Oracle Event Processingアプリケーションはオプションで、キャッシュへのイベントのパブリッシュまたはキャッシュからのイベントの消費を行い、イベントの可用性およびアプリケーションのパフォーマンスを向上させることができます。

この要素には、次の子要素があり、属性はありません。

- name

- max-size

- eviction-policy

- time-to-live

- idle-time

- 次のいずれか。

- write-none

- write-through

- write-behind

- work-manager-name

- listeners

次の例はコンポーネント構成ファイル内の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>

4.15 caching-system

caching-element要素を使用すると、Oracle Event Processingローカル・キャッシング・システム・コンポーネントを定義できます。キャッシング・システムは、キャッシング実装の構成済インスタンスを示します。キャッシング・システムは、構成済キャッシュの名前付きセットを定義する他、それらの任意のキャッシュが複数のマシン上に分散配置されている場合には、リモート通信の構成も定義します。

この要素には、次の子要素があり、属性はありません。

- name

- cache

次の例はコンポーネント構成ファイル内の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>

4.16 channel

channel要素を使用すると、チャネル・コンポーネントを定義できます。Oracle Event Processingアプリケーションには1つ以上のチャネル・コンポーネントが含まれ、チャネル・コンポーネントは、アダプタとプロセッサ間やプロセッサとイベントBean(ビジネス・ロジックPOJO)間のような、他のコンポーネント同士をイベントが往来する物理的なパイプを表しています。

この要素には、次の子要素があり、属性はありません。

- name

- record-parameters

- playback-parameters

- max-size

- max-threads

- selector

- heartbeat

- partition-order-capacity

次の例はコンポーネント構成ファイル内のchannel要素の使用方法を示します。この例ではchannelの一意の識別子はMatchOutputChannelです。

<channel>    <name>monitoring-control-stream</name>    <max-size>10000</max-size>    <max-threads>1</max-threads></channel>

4.17 channel (http-pub-sub-adapterの子要素)

channel要素を使用すると、http-pub-sub-adapterがパブリッシュまたはサブスクライブする対象のチャネルを指定できます。いずれのチャネルもローカル/リモートであろうとパブリッシュ用/サブスクライブ用であろうとすべてのhttp-pub-sub-adapterに割り当てられます。この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内のchannel要素の使用方法を示します。この例ではlocalPublisherパブリッシュ/サブスクライブ・アダプタはパターン/channel2を用いてローカル・チャネルにパブリッシュします。

<http-pub-sub-adapter>
<name>localPublisher</name>
<server-context-path>/pubsub</server-context-path>
<channel>/channel2</channel>
</http-pub-sub-adapter>

4.18 channel-name

channel-name要素を使用すると、イベントをインジェクトするチャネルまたはトレースされたイベントを送信するチャネルの名前を指定できます。この要素には、子要素も属性もありません。active要素の値がfalseの場合、channel-name値は無視されます。

要素の値は、次の形式のチャネルへのパスにし、スラッシュで始まる必要があります。

- イベント・トレース: /serverID/appID/stageID/output

- イベント・インジェクション: /serverID/appID/stageID/input

次の例はイベント・トレース用のプロセッサを構成する方法を示します。trace-parameters要素のactive子要素はトレースをオンにすることを指定し、channel-name要素はトレースされる要素の送信先の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>

4.19 client-id

client-id要素を使用すると、EDNアダプタの恒久サブスクリプション・クライアントのIDを指定できます。この要素には、子要素も属性もありません。

4.20 coherence-cache-config

この要素を使用するとcoherence-caching-system用のOracle Coherenceキャッシュ構成を定義できます。この要素には、子要素も属性もありません。

次の例は、コンポーネント構成ファイル内のcoherence-cache-config要素の使用方法を示します。

<coherence-caching-system>
<name>nativeCachingSystem</name>
<coherence-cache-config>
applications/cache_cql/coherence/coherence-cache-
</coherence-cache-config></coherence-caching-system>

4.21 coherence-caching-system

coherence-caching-system要素を使用すると、Oracle Coherenceキャッシング・システム・コンポーネントを定義できます。キャッシング・システムは、キャッシング実装の構成済インスタンスを示します。キャッシング・システムは、構成済キャッシュの名前付きセットを定義する他、それらの任意のキャッシュが複数のマシン上に分散配置されている場合には、リモート通信の構成も定義します。

この要素には、次の子要素があり、属性はありません。

- name

- coherence-cache-config

- coherence-cluster-config

次の例はコンポーネント構成ファイル内のcoherence-caching-system要素の使用方法を示します。この例ではchannelの一意の識別子はnativeCachingSystemです。

<coherence-caching-system>
<name>nativeCachingSystem</name>
<coherence-cache-config>
applications/cache_cql/coherence/coherence-cache-
</coherence-cache-config>
</coherence-caching-system>

4.22 coherence-cluster-config

coherence-cluster-config要素を使用すると、coherence-caching-system用のOracle Coherenceクラスタ構成を定義できます。この要素には、子要素も属性もありません。

次の例は、コンポーネント構成ファイル内のcoherence-cache-config要素の使用方法を示します。

<coherence-caching-system>
<name>nativeCachingSystem</name>
<coherence-cluster-config>
applications/cluster_cql/coherence/coherence-cluster-
</coherence-cluster-config></coherence-caching-system>

4.23 collect-interval

collect-interval要素を使用すると、診断プロファイルにおいてaverage-latencyまたはmax-latency要素の収集間隔を定義できます。この要素には、次の子要素があり、属性はありません。

- amount

- unit

次の例はコンポーネント構成ファイル内の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>

4.24 concurrent-consumers

concurrent-consumers要素を使用すると、作成するコンシューマ数を定義できます。デフォルト値は、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と同じ設定にします。

詳細は、「work-manager」を参照してください。

次の例はコンポーネント構成ファイル内の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>

4.25 configuration

configurationを使用すると、キーと値のペアをグループ化できます。この要素には、次の子要素があり、属性はありません。

- config-name

- config-value

4.26 config-name

config-name要素を使用すると、configuration設定のキー名を指定できます。この要素には、子要素も属性もありません。

4.27 config-value

config-value要素を使用すると、configuration設定の値を指定できます。この要素には、子要素も属性もありません。

4.28 connection-jndi-name

connection-jndi-name要素を使用すると、JMS接続ファクトリのJNDI名を定義できます。Oracle Event ProcessingサーバーのJMSのデフォルト値は、weblogic.jms.ConnectionFactoryです。

<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-jndi-name要素の使用方法を示します。

4.29 connection-encrypted-password

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のいずれかを使用します。ただし、両方を使用することはできません。

次の例はコンポーネント構成ファイル内の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>

4.30 connection-password

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>

4.31 connection-user

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>

4.32 context-path

context-path要素を使用すると、Webサーバー上でアプリケーションをデプロイする場所を指定できます。context-path要素には、子も属性もありません。

次の例は構成ファイル内のcontext-path要素の使用方法を示します。

<rest-adapter>
<name>httpInbound</name>
<event-type-name>CallCenterActivity</event-type-name>
<context-path>/testhttpadapter</context-path>
</rest-adapter>
<jaxb-mapper>
<name>xmlMapperBean</name>
<event-type-name>CallCenterActivity</event-type-name>
<metadata>external_metadata_case1.xml</metadata>
</jaxb-mapper>
<csv-mapper>
<name>csvMapperBean</name>
<context-path>org.callcenter</context-path>
<validate>false</validate>
</csv-mapper>

4.33 csv-adapter

EDNに入力するためにカンマ区切りの値形式でデータを受信するにはCSVインバウンド・アダプタを使用し、EDNから出力するカンマ区切りの値形式でデータを送信するにはCSVアウトバウンド・アダプタを使用します。csv-adapter要素には、次の子要素があり、属性はありません。

- event-interval

- initial-delay

- append

- source-url

- output-file

次の構成ファイルの例は、csv-adapter要素を使用してCSVのインバウンド・アダプタおよびアウトバウンド・アダプタを作成する方法を示します。

<csv-adapter>
<name>StockTradeCSVInboundAdapter</name>
</csv-adapter>

<csv-adapter>
<name>StockTradeCSVOutboundAdapter</name>
</csv-adapter>

4.34 csv-mapper

csv-mapper要素を使用すると、着信CSVデータを処理できます。この要素には、次の子要素があり、属性はありません。

- event-type-name

- context-path

- metadata

- validate

- schema

- event-interval

- initial-delay

次の例は構成ファイル内のcsv-mapper要素の使用方法を示します。

<rest-adapter>
<name>httpInbound</name>
<event-type-name>CallCenterActivity</event-type-name>
<context-path>/testhttpadapter</context-path>
</rest-adapter>
<jaxb-mapper>
<name>xmlMapperBean</name>
<event-type-name>CallCenterActivity</event-type-name>
<metadata>external_metadata_case1.xml</metadata>
</jaxb-mapper>
<csv-mapper>
<name>csvMapperBean</name>
<context-path>org.callcenter</context-path>
<validate>false</validate>
</csv-mapper>

4.35 database

database要素を使用すると、Oracle CQLプロセッサのデータベース参照を定義できます。この要素には、子要素がなく、次の属性があります。

表4-1 databaseコンポーネント構成要素の属性

属性

説明

データ型

必須?

name

この問合せの一意の識別子です。

String

はい

data-source-name

Oracle Event Processingサーバー・ファイルで定義されるデータ・ソース名です。

String

はい

次の例は、コンポーネント構成ファイル内の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>

4.36 decision-function

decision-function要素を使用すると、使用するOBR決定関数の名前を指定できます。この要素には、子要素も属性もありません。

次の例はdecision-function要素の使用方法を示します。

<processor>
<name>helloworldProcessor</name>
<rules>
<query id="helloworldRule">
<!-- <![CDATA[ select * from helloworldInputChannel[range 10 slide 5] >
-->
select * from helloworldInputChannel[now]
</query>
</rules>
</processor>
<obr-adapter>
<name>OBRAdapter</name>
<dictionary-url>file:helloworld.rules</dictionary-url>
<decision-function>handler1</decision-function>
</obr-adapter>

4.37 default-session

default-session要素は、1つ以上のsession要素が必要な場合に使用します。デフォルトでは、すべてのsessionタグが、default-sessionタグで宣言されているすべての要素を継承します。

4.38 delivery-mode

delivery-mode要素を使用すると、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>

4.39 destination-jndi-name

destination-jndi-name必須要素を使用すると、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>

4.40 destination-name

destination-name必須要素を使用すると、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>

4.41 destination-type

destination-type要素を使用すると、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>

4.42 diagnostic-profiles

diagnostic-profiles要素を使用すると、1つ以上のOracle Event Processing診断プロファイルを定義できます。この要素には、次の子要素があり、属性はありません。

- name

- profile

次の例はコンポーネント構成ファイル内のdiagnostics-profiles要素の使用方法を示します。この例ではchannelの一意の識別子はmyDiagnosticProfilesです。

<diagnostics-profiles>
<name>myDiagnosticProfiles</name>
<profile>
...
</profile>
</diagnostics-profiles>

4.43 dictionary-url

dictionary-url要素を使用すると、使用するルールおよび決定関数が含まれるOBRディクショナリ・ファイルへのパスを指定できます。この要素には、子要素も属性もありません。

次の例はdictionary-url要素の使用方法を示します。

<processor>
<name>helloworldProcessor</name>
<rules>
<query id="helloworldRule">
<!-- <![CDATA[ select * from helloworldInputChannel[range 10 slide 5] >
-->
select * from helloworldInputChannel[now]
</query>
</rules>
</processor>
<obr-adapter>
<name>OBRAdapter</name>
<dictionary-url>file:helloworld.rules</dictionary-url>
<decision-function>handler1</decision-function>
</obr-adapter>

4.44 direction

direction要素を使用すると、診断プロファイルのend-locationまたはstart-locationに関する方向を定義できます。この要素には、子要素も属性もありません。

有効な値は次のとおりです。

- INBOUND

- OUTBOUND

次の例は、コンポーネント構成ファイル内の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>

4.45 durable-subscription

durable-subscription要素を使用すると、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>

4.46 durable-subscription-name

durable-subscription-name要素を使用すると、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>

4.47 duration

この要素を使用すると、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>

4.48 edl-file

EDNアダプタにロードされる必須EDLファイルの名前です。指定した名前を持つEDLファイルは、META-INF/wlevs/edn/ディレクトリ内のアプリケーション・バンドルにパッケージ化する必要があります。この要素には、子要素も属性もありません。

次の例はedl-file要素の使用方法を示します。

<edn-adapter>
<name>ednOutboundAdapterJaxb</name>
<edl-file>CallCenterEvents.edl</edl-file>
<schema-file>callcenter.xsd</schema-file>
<validate>true</validate>
<package-name>org.callcenter</package-name>
<raw-xml-content>false</raw-xml-content>
<jndi-provider-url>vm://localhost</jndi-provider-url>
<jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory
</jndi-factory>
<user>test1</user>
<password>test123</password>
<delivery-mode>nonpersistent</delivery-mode>
</edn-adapter>

4.49 edn-adapter

edn-adapter要素を使用すると、Oracle SOA Suiteイベント・ネットワークとのインタフェースを確立できます。EDNインバウンド・アダプタを使用すると、Oracle SOA Suiteイベント・ネットワークからの着信データを受信できます。EDNアウトバウンド・アダプタを使用すると、アウトバウンド・データをOracle SOAイベント・ネットワークに送信できます。

この要素には、次の子要素があり、属性はありません。client-idおよびdurable-subscription-name要素は、EDN入力アダプタに対してのみ適用されます。残りはEDNの入力アダプタと出力アダプタの両方に適用されます。

リスト内のclient-idおよびdurable-subscription-nameを除くすべての要素は、EDNの入力アダプタと出力アダプタの両方に適用されます。client-idおよびdurable-subscription-name要素は、入力EDNアダプタに固有の要素です。

- client-id

- edl-file

- package-name

- priority

- raw-xml-content

- schema-file

- validate

- metadata

- jndi-provider-url.

- jndi-factory

- user
次のいずれか。

- password

- encrypted-password

- delivery-mode

- time-to-live

- durable-subscription-name

次の例はEDNインバウンド・アダプタ構成を示します。インバウンドEDNアダプタは、アセンブリ・ファイルに指定されているCallCenterActivityEventの定義が含まれるEDLファイルをロードします。スキーマ・ファイルはスキーマ検証用として提供されます。パッケージ名は、スキーマによって生成されたJAXBクラス用として使用されます。RAW XMLコンテンツは、EDN XML転送がRAW XMLとして表されることを意味します。JNDIプロバイダおよびファクトリを使用すると、Oracle SOA SuiteがEDNを特定できるようになります。

<edn-adapter>
<name>ednInboundAdapterJaxb</name>
<edl-file>CallCenterEvents.edl</edl-file>
<schema-file>callcenter.xsd</schema-file>
<validate>true</validate>
<package-name>org.callcenter</package-name>
<raw-xml-content>false</raw-xml-content>
<jndi-provider-url>vm://localhost</jndi-provider-url>
<jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory
</jndi-factory>
<user>test1</user>
<password>test123</password>
</edn-adapter>

4.50 enabled

この要素を使用すると、診断プロファイルを有効化するかどうかを定義できます。この要素には、要素も属性もありません。

有効な値は次のとおりです。

- true

- false

<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>

4.51 encrypted-password

encrypted-password要素を使用すると、ハッキングを阻止するために別の形式に変更されるパスワードを作成できます。この要素には、子要素も属性もありません。

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)要素を使用します。

- rmi-adapter: encrypted-password要素を使用すると、Oracle WebLogic Serverに対するRMI認証用として暗号化されたユーザー・パスワードを定義できます。

- edn-adapter: encrypted-password要素を使用すると、Oracle SOA SuiteのEDNまたはJMS認証用として暗号化されたユーザー・パスワードを定義できます。

注意:

encrypted-passwordまたはpasswordのいずれかを使用します。ただし、両方を使用することはできません。

次の例は、コンポーネント構成ファイル内の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>

4.52 end

end要素を使用すると、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>

4.53 end-location

end-location要素を使用すると、診断プロファイルにおいてaverage-latencyまたはmax-latency要素の終了位置を定義できます。この要素には、次の子要素があり、属性はありません。

- application

- stage

- direction

次の例はコンポーネント構成ファイル内の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>

4.54 event-bean

event-bean要素を使用すると、イベントBeanコンポーネントを定義できます。この要素には、次の子要素があり、属性はありません。

- name

- record-parameters

- playback-parameters

次の例はコンポーネント構成ファイル内のevent-bean要素の使用方法を示します。この例ではchannelの一意の識別子はmyEventBeanです。

<event-bean>
<name>myEventBean</name>
</event-bean>

4.55 event-interval

CSVインバウンド・アダプタでevent-interval要素を使用すると、選択した単位で読取りイベント間の間隔を指定できます。使用可能な単位は、nanoseconds、microseconds、millisecondsおよびsecondsです。この要素には、子要素も属性もありません。

イベント間で待機する間隔です。使用可能な単位は、nanoseconds、microseconds、millisecondsおよびsecondsです。たとえば、イベント間隔が1秒に設定されている場合、CSV入力アダプタはすべてのイベントを処理するまでに1秒間待機します。ただし、スレッド処理に関連するオーバーヘッドが存在するため、実際の待機時間はイベント間隔より若干長くなります。したがって、イベント間隔は短くしすぎないようにしてください。

次のコードは、イベント間隔が25 nanoseconds、初期遅延が40秒であるCSVアダプタを示します。使用可能な単位は、nanoseconds、microseconds、millisecondsおよびsecondsです。

<csv-adapter>
<name>csv-inbound-adapter</name>
<event-interval units="nanoseconds">25</event-interval>
<initial-delay units="seconds">40</initial-delay>
</csv-adapter>

4.56 event-type

event-type要素を使用すると、イベントに含まれるデータを定義できます。この要素には、子要素も属性もありません。

event-type要素は次の親要素で使用します。

- http-pub-sub-adapter:

- パブリッシュ: オプション。パブリッシュ用のローカルおよびリモートの両方のHTTP Pub-Subアダプタについて、パブリッシュされるイベントのタイプを制限するために、JavaBeanイベントの完全修飾クラス名を指定します。指定しない場合、HTTP pub-subアダプタに送信されたすべてのイベントがパブリッシュされます。

- サブスクライブ: 必須。サブスクライブ用のローカルおよびリモートの両方のHTTP Pub-Subアダプタについて、着信メッセージがマップされるJavaBeanの完全修飾クラス名を指定します。実行時、Oracle Event Processingはメッセージ内の受信キー/値のペアを使用し、メッセージ・データを指定されたイベント型にマップします。

このクラスをEPNアセンブリ・ファイルにwlevs:event-type-repository要素、wlevs:class子要素として登録する必要があります。

- jms-adapter: event-type要素を使用すると、プロパティがJMSメッセージのプロパティに一致するイベント型を指定できます。Oracle Event ProcessingにJMSメッセージとイベント間の変換を自動的に行わせる場合のみ、この子要素を指定します。独自のカスタム・コンバータBeanを作成済の場合はこの要素を指定しません。

- record-parameters: event-type要素を使用すると、記録するイベントを指定できます。

event-type要素の値はイベント型のリポジトリで定義したいずれかのイベント型にします。

次の例はコンポーネント構成ファイル内の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>

4.57 event-type-name

event-type-name要素を使用すると、イベント・タイプの名前を指定できます。イベント・タイプは、イベントに含まれるデータを定義するデータ構造です。

event-type-name要素には、子も属性もありません。次の例は構成ファイル内のこの要素の使用方法を示します。

<rest-adapter>
<name>httpInbound</name>
<event-type-name>CallCenterActivity</event-type-name>
<context-path>/testhttpadapter</context-path>
</rest-adapter>
<jaxb-mapper>
<name>xmlMapperBean</name>
<event-type-name>CallCenterActivity</event-type-name>
<metadata>external_metadata_case1.xml</metadata>
</jaxb-mapper>
<csv-mapper>
<name>csvMapperBean</name>
<context-path>org.callcenter</context-path>
<validate>false</validate>
</csv-mapper>

4.58 eviction-policy

eviction-policy要素を使用すると、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>

4.59 fail-when-rejected

fail-when-rejected要素を使用すると、オファー・タイムアウトの期限切れ時にイベント・キューがいっぱいである場合にcom.bea.wlevs.ede.api.EventProcessingExceptionタイプの例外を発生させるかどうかを指定できます。falseに設定すると、または何も設定しないと、例外が生成されるのではなく、イベントが削除されます。この構成は、max-size値が0より大きいイベント・キューにのみ適用されます。デフォルト値はfalseです。オファー・タイムアウトの設定の詳細は、「offer-timeout」を参照してください。

この要素には、子要素も属性もありません。

次の例では、イベント・キューが一杯の間に15秒経過するとEventProcessingExceptionを生成するように、チャネルを構成しています。

<channel>
<name>QueuedChannel</name>
<max-size>1000</max-size>
<max-threads>1</max-threads>
<offer-timeout>15000000000</offer-timeout>
<fail-when-rejected>true</fail-when-rejected>
</channel>

4.60 group-binding

JMSインバウンド・アダプタのjms-adapter要素にgroup-binding子要素を追加するために、コンポーネント構成ファイルを編集します。各可能JMSメッセージ・セレクタ値に対して1つのgroup-binding要素を追加します。詳細は、「bindings (jms-adapter)」を参照してください。

この要素には、param子要素およびgroup-id属性があります。group-id属性は必須で、タイプはStringであり、子要素をグループ化するクラスタ要素の名前です。

次の例はコンポーネント構成ファイル内の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>

4.61 heartbeat

heartbeat要素を使用すると、システムによってタイムスタンプが付加されたchannelコンポーネントの新しいハートビート・タイムアウトを定義できます。デフォルトでは、タイムアウト値は100ミリ秒(100,000,000ナノ秒)です。この要素には、子要素も属性もありません。ハートビートは、一定秒数ごとにチャネルでのデータの到着をチェックします。

ここに設定した値よりも長い期間、システム・タイムスタンプされたリレーション・チャネルまたはストリーム・チャンネルにデータが到着しなかった場合、Oracle Event Processingにより、そのチャネルにハートビートが生成されます。

システムによってタイムスタンプが付加されたリレーションまたはストリームにheartbeat子要素が適用されるのは、プロセッサに送信を行うイベント・チャネルにイベントが到着せず、プロセッサが時間ベースのウィンドウや期間のパターン照合などの一時的な演算子をいくつか含む文を使用して構成されている場合のみです。

次の例はコンポーネント構成ファイル内のheartbeat要素の使用方法を示します。この例ではchannelの一意の識別子はMatchOutputChannelです。

<channel>
<name>MatchOutputChannel</name>
<max-size>0</max-size>
<max-threads>0</max-threads>
<selector>match</selector>
<heartbeat>10000</heartbeat>
</channel>

4.62 http-pub-sub-adapter

http-pub-sub-adapter要素を使用すると、HTTPパブリッシュ/サブスクライブ・サーバー・アダプタを定義できます。

この要素には、次の子要素があり、属性はありません。

- name

- record-parameters

- playback-parameters

- work-manager-name

- netio

- 次のいずれか。

- server-context-path

- server-url

- event-type

- user

- 次のいずれか。

- password

- encrypted-password

次の例はコンポーネント構成ファイル内のhttp-pub-sub-adapter要素の使用方法を示します。この例ではadapterの一意の識別子はremotePubです。

<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>

4.63 idle-time

idle-time要素を使用すると、キャッシュ・エントリがアクセスされないときにキャッシュ・エントリが能動的にキャッシュから削除されるまでの時間をミリ秒数単位で定義できます。デフォルトでは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>

4.64 initial-delay

アダプタでinitial-delay要素を使用すると、イベントの読取りを開始するまでの時間をナノ秒単位で指定できます。initial-delay要素には、子も属性もありません。

次のコードは、イベント間隔が25 nanoseconds、初期遅延が40秒であるCSVアダプタを示します。使用可能な単位は、nanoseconds、microseconds、millisecondsおよびsecondsです。

<csv-adapter>
<name>csv-inbound-adapter</name>
<event-interval units="nanoseconds">25</event-interval>
<initial-delay units="seconds">40</initial-delay>
</csv-adapter>

4.65 inject-parameters

inject-parameters要素を使用すると、イベント処理ネットワークのステージにイベント・インジェクションを構成できます。この要素には、次の子要素があり、属性はありません。

- channel-name

- active

次の例に示すコンポーネント構成の一部は、イベント・インジェクション用にプロセッサを構成する方法を示しています。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>

4.66 jaxb-mapper

jaxb-mapper要素を使用すると、着信XMLおよびJSONデータを処理できます。この要素には、次の子要素があり、属性はありません。

子要素

- event-type-name

- context-path

- metadata

- validate

- schema

例

次の例は構成ファイル内のjaxb-mapper要素の使用方法を示します。

<rest-adapter>
<name>httpInbound</name>
<event-type-name>CallCenterActivity</event-type-name>
<context-path>/testhttpadapter</context-path>
</rest-adapter>
<jaxb-mapper>
<name>xmlMapperBean</name>
<event-type-name>CallCenterActivity</event-type-name>
<metadata>external_metadata_case1.xml</metadata>
</jaxb-mapper>
<csv-mapper>
<name>csvMapperBean</name>
<context-path>org.callcenter</context-path>
<validate>false</validate>
</csv-mapper>

4.67 jms-adapter

jms-adapter要素を使用すると、JMSアダプタ・コンポーネントを定義できます。この要素には、次の子要素があり、属性はありません。

子要素

- name

- record-parameters

- playback-parameters

- event-type

- jndi-provider-url

- connection-jndi-name

- 次のいずれか。

- destination-jndi-name

- destination-name

- user
次のいずれか。

- password

- encrypted-password

- connection-user
次のいずれか。

- connection-password

- connection-encrypted-password

- work-manager

- concurrent-consumers

- message-selector

- session-ack-mode-name

- session-transacted

- delivery-mode

例

次の例はコンポーネント構成ファイル内のjms-adapter要素の使用方法を示します。この例ではadapterの一意の識別子はjmsInbound-textです。

<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>

4.68 jndi-factory

オプションのjndi-factory要素を使用すると、jms-adapterまたはrmi-adapterのJNDIファクトリを定義できます。Oracle Event ProcessingサーバーJMSのJNDIファクトリ名のデフォルト値は、weblogic.jndi.WLInitialContextFactoryです。

この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内のjndi-factory要素の使用方法を示します。

<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>

4.69 jndi-name

jndi-name要素を使用すると、アプリケーションがRemote Method Invocation (RMI)の入力アダプタおよび出力アダプタを介して特定およびアクセスする必要があるコンポーネントのJava Naming and Directory Interface (JNDI)名を指定できます。

次の例はjndi-name要素の使用方法を示します。

<rmi-adapter>
<name>rmi-outbound-adapter</name>
<jndi-name>RMIOutboundJNDIName</jndi-name>
<jndi-provider-url>t3://localhost:7001</jndi-provider-url>
<jndi-factory>weblogic.jndi.WLInitialContextFactory</jndi-factory>
</rmi-adapter>

4.70 jndi-provider-url

jndi-provider-url必須要素を使用すると、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>

4.71 listeners

listeners要素を使用すると、キャッシュ・リスナーの動作を定義できます。この要素には、work-manager-name子要素およびasynchronous属性があります。

work-manager-name子要素は、リスナーの非同期的な起動に使用されるワーク・マネージャを指定します。Oracle Event Processingでは、ワーク・マネージャ値は、同期的起動を有効にすると無視されます。ワーク・マネージャがキャッシュそのものに指定されている場合、この値はリスナーのみを起動するためにオーバーライドします。

asynchronous属性は必須のBoolean型であり、trueの場合はリスナーを非同期的に実行します。デフォルト値はfalseです。

次の例はコンポーネント構成ファイル内の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>

4.72 location

location要素を使用すると、診断プロファイルにおいてthroughput要素の位置を定義できます。この要素には、次の子要素があり、属性はありません。

- application

- stage
direction

次の例はコンポーネント構成ファイル内の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>

4.73 max-latency

max-latency要素を使用すると、診断プロファイルの最大待機時間計算を定義できます。この要素には、次の子要素があり、属性はありません。

- name

- collect-interval

- start-location

- end-location

次の例はコンポーネント構成ファイル内の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>

4.74 max-size

max-size要素は次の親要素で使用します。

- channel: max-size子要素を使用すると、チャネルの最大サイズを指定できます。サイズがゼロのチャネルは、同期的にイベントを受け渡します。サイズがゼロでないチャネルはイベントを非同期的に処理し、リクエストされたサイズに従ってイベントをバッファリングします。max-threadsがゼロの場合、max-sizeはゼロになります。デフォルト値は0です。

- cache:max-size要素を使用すると削除またはページングが発生した後のメモリー内のキャッシュ要素数を定義できます。現状では最大キャッシュサイズは2^31-1エントリです。この要素は動的に変更されます。

この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内のmax-size要素の使用方法を示します。

<stream>
<name>monitoring-control-stream</name>
<max-size>10000</max-size>
<max-threads>1</max-threads>
</stream>

4.75 max-threads

max-threads要素を使用すると、Oracle Event Processingサーバーがchannelのイベントを処理するために使用するスレッドの最大数を定義できます。この要素には、子要素も属性もありません。

デフォルト値は0です。max-size属性が0の場合は、max-threadsの値の設定には影響がありません。

0に指定する場合、チャネルは受渡しのように機能します。max-threads > 0の場合、チャネルは従来のブロッキング・キューのように機能し、アップストリーム・コンポーネントがイベントのプロデューサ、ダウンストリーム・コンポーネントがイベントのコンシューマになります。キューのサイズはmax-sizeの構成によって定義されます。キューからイベントを消費するスレッドは、最大でmax-threadsの数までとなります。

max-threadsは、再デプロイすることなく0から正の整数に(つまり、パス・スルーから複数スレッドに)変更できます。しかし、max-threadsを正の整数から0に(つまり、複数スレッドからパス・スルーに)変更する場合は、アプリケーションを再デプロイする必要があります。max-sizeが0の場合は、この値の設定に影響はありません。

次の例は、ンポーネント構成ファイル内のmax-threads要素の使用方法を示します。

<channel>
<name>monitoring-control-stream</name>
<max-size>10000</max-size>
<max-threads>1</max-threads>
</channel>

4.76 message-selector

message-selector要素をJMSメッセージ・セレクタとともに使用すると、jms-adapterでメッセージをフィルタできます。この要素には、子要素も属性もありません。

メッセージ・セレクタ式の構文は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>

4.77 metadata

metadata要素を使用すると、JAXBマッピングをカスタマイズするためのJAXB Boxy外部メタデータが含まれるファイルの名前を指定できます。この要素はオプションであり、子要素も属性もありません。

次の例は構成ファイル内のmetadata要素の使用方法を示します。

<rest-adapter>
<name>httpInbound</name>
<event-type-name>CallCenterActivity</event-type-name>
<context-path>/testhttpadapter</context-path>
</rest-adapter>
<jaxb-mapper>
<name>xmlMapperBean</name>
<event-type-name>CallCenterActivity</event-type-name>
<metadata>external_metadata_case1.xml</metadata>
</jaxb-mapper>
<csv-mapper>
<name>csvMapperBean</name>
<context-path>org.callcenter</context-path>
<validate>false</validate>
</csv-mapper>

4.78 name

要素の名前です。name要素は次の親要素で使用します。

- EPNコンポーネント: name要素を使用すると、このアプリケーション構成要素をアセンブリ・ファイル内の対応する要素に関連付けることができます。有効な値は、対応するアセンブリ・ファイルのid属性です。

- diagnostic-profiles:name要素を使用するとdiagnostic-profiles要素およびそのprofile子要素のそれぞれを一意で識別できます。

- parameter:name要素を使用すると、名前と値のペアの名前を定義できます。

この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内のname要素の使用方法を示します。この例ではchannelの一意の識別子はmyDiagnosticProfilesです。

<diagnostics-profiles>
<name>myDiagnosticProfiles</name>
<profile>
...
</profile>
</diagnostics-profiles>

4.79 netio

netio要素を使用すると、コンポーネントのネットワーク入力/出力ポートを定義できます。

注意:

adapter要素の子である場合、この要素は内部使用のみ可能です。

この要素には、次の子要素があり、属性はありません。

- provider-name

- num-threads

- accept-backlog

次の例はコンポーネント構成ファイル内のnetio要素の使用方法を示します。

<netio>
<provider-name>providerCache</provider-name>
<num-threads>1000</num-threads>
</netio>

4.80 num-threads

num-threads要素を使用すると、コンポーネントのネットワーク入力/出力ポートにおけるスレッド数を定義できます。この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内のnum-threads要素の使用方法を示します。

<netio>
<provider-name>providerCache</provider-name>
<num-threads>1000</num-threads>
</netio>

4.81 obr-adapter

obr-adapterアダプタを使用すると、イベントをJavaコードとして処理することにより、Oracle Business Rules (OBR)を評価し、結果に基づいてイベントをトリガーできます。OBRアダプタを使用すると、OBRロジックをCQLプロセッサのダウンストリームに追加できます。

この要素には、次の子要素があり、属性はありません。

- decision-function

- dictionary-url

次の例はOBRアダプタ構成を示します。

<processor>
<name>helloworldProcessor</name>
<rules>
<query id="helloworldRule">
<!-- <![CDATA[ select * from helloworldInputChannel[range 10 slide 5] >
-->
select * from helloworldInputChannel[now]
</query>
</rules>
</processor>
<obr-adapter>
<name>OBRAdapter</name>
<dictionary-url>file:helloworld.rules</dictionary-url>
<decision-function>handler1</decision-function>
</obr-adapter>

4.82 offer-timeout

offer-timeout要素を使用すると、イベント・キューが一杯で保留中の挿入(オファー)がブロックされている場合に、保留中のイベントが削除されるか例外が生成されるまでの時間を指定できます。fail-when-rejected値がtrueに設定されている場合は例外が生成され、それ以外の場合はイベントが削除されます。この設定は、max-size値が0より大きいイベント・キューにのみ適用されます。offer-timeout値はナノ秒で指定する必要があります。デフォルトでは60秒です。

この要素には、子要素も属性もありません。

次の例では、イベント・キューが一杯の間に15秒経過するとEventProcessingExceptionを生成するように、チャネルを構成しています。

<channel>
<name>QueuedChannel</name>
<max-size>1000</max-size>
<max-threads>1</max-threads>
<offer-timeout>15000000000</offer-timeout>
<fail-when-rejected>true</fail-when-rejected>
</channel>

4.83 output-file

output-fileエントリを使用すると、CSVアウトバウンド・アダプタによってアウトバウンド・イベント・データが保存される場所を指定できます。この要素には、子要素も属性もありません。

append要素を使用すると、新しいファイルを作成するか、既存のファイルを上書きするか、既存のファイルに追加できます。

次の例はStockTradeCSVOutboundAdapterのアセンブリ・ファイル・エントリを示します。

<wlevs:adapter id="StockTradeCSVOutboundAdapter" provider="csv-outbound">
<wlevs:instance-property name="eventType" value="TradeEvent"/>
<wlevs:instance-property name="outputFile"
value="/scratch/mpawlan/oep9-19/oep/utils/load-generator/StockData.csv"/>
<wlevs:instance-property name="append" value="false"/>
</wlevs:adapter>

4.84 package-name

スキーマによって生成されたJAXBのクラスのオプションのパッケージ名です。設定されている場合、指定したパッケージ名により、EDLファイルから推測されたパッケージ名がオーバーライドされます。この要素には、子要素も属性もありません。

次の例はpackage-name要素の使用方法を示します。

<edn-adapter>
<name>ednOutboundAdapterJaxb</name>
<edl-file>CallCenterEvents.edl</edl-file>
<schema-file>callcenter.xsd</schema-file>
<validate>true</validate>
<package-name>org.callcenter</package-name>
<raw-xml-content>false</raw-xml-content>
<jndi-provider-url>vm://localhost</jndi-provider-url>
<jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory
</jndi-factory>
<user>test1</user>
<password>test123</password>
<delivery-mode>nonpersistent</delivery-mode>
</edn-adapter>

4.85 param

param要素を使用して、メッセージ・セレクタ値をmessage-selector要素で指定されたパラメータ名と関連付けます。この要素には、子要素がなく、id属性があります。id属性は必須で、タイプはStringであり、message-selector要素に渡す値を識別します。

詳細は、bindings (jms-adapter)を参照してください。

次の例はコンポーネント構成ファイル内のparam要素の使用方法を示します。この構成を使用するアプリケーションが、Oracle Event Processingサーバーにデプロイされて、そのサーバーのcluster要素のgroups子要素にActiveActiveGroupBean_group1が含まれている場合、CONDITIONパラメータはacctid > 400です。acctidプロパティが400を超えるエベントは、アプリケーションにより処理されます。

<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>

4.86 parameter

parameter要素を使用すると、コンポーネントのnameおよびvalueパラメータを定義できます。この要素には、次の子要素があり、属性はありません。

- 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>

4.87 params

params要素を使用すると、bindings (processor)要素のパラメータを定義できます。この要素の値は単純型の値のカンマ区切りリストです。値の順序は、このbindingに関連するOracle CQLルールにおけるパラメータの順序に対応している必要があります。

この要素には、子要素がなく、id属性があります。id属性は必須ではなく、タイプはStringであり、params要素の一意の識別子です。

次の例はコンポーネント構成ファイル内の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>

4.88 partition-order-capacity

partition-order-capacity要素を使用すると、ordering-constraint属性がPARTITION_ORDEREDに設定されている場合に問合せパーティションの最大容量を定義できます。この要素には、子要素も属性もありません。

パラレル実行用のCQLプロセッサが構成されていて、ordering-constraint属性がPARTITION_ORDEREDに設定されている場合、channelコンポーネントでpartition-order-capacity要素を設定します。

容量の値をより広い範囲に適用するために、サーバー構成ファイル内にこれを設定できます。「コンポーネント構成スキーマ」を参照してください。

次の例は、コンポーネント構成ファイル内のpartition-order-capacity要素の使用方法を示します。

<channel>
<name>MatchOutputChannel</name>
<max-size>0</max-size>
<max-threads>0</max-threads>
<selector>match</selector>
<partition-order-capacity>20</partition-order-capacity>
</channel>

4.89 password

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)要素を使用します。

- rmi-adapter: password要素を使用すると、Oracle WebLogic Serverに対するRMI認証用のユーザー・パスワードを定義できます。

- edn-adapter: password要素を使用すると、Oracle SOA SuiteのEDNまたはJMS認証用のユーザー・パスワードを定義できます。

注意:

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>

4.90 playback-parameters

playback-parameters要素を使用すると、コンポーネントをテストするためのコンポーネントのイベント再生パラメータを定義できます。後のステージで、イベントBeanなどのアプリケーションでイベントを再生します。イベントBeanで、イベントを問い合せ、結果に基づいてアプリケーションを修正します。この要素には、次の子要素があり、属性はありません。

- playback-parameters

- event-type-list

- provider-name

- store-policy-parameters

- max-size

- max-threads

- 次のいずれか。

- time-range

- time-range-offset

- 次のいずれか。

- schedule-time-range

- schedule-time-range-offset

- playback-speed

- repeat

次の例はコンポーネント構成ファイル内のplayback-parameters要素の使用方法を示します。

<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>
</playback-parameters>

4.91 priority

priority要素を使用すると、EDNにパブリッシュされたイベントのJMS優先度を設定できます。JMS APIは、最も優先度が低い0から最も優先度が高い9までの10レベルの優先度値を定義します。クライアントは、レベル0-4は通常の優先度の範囲、レベル5-9は至急の優先度の範囲として考慮する必要があります。デフォルトでは、優先度は4に設定されています。この要素には、子要素も属性もありません。

<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>
<priority>2</priority>
<concurrent-consumers>1</concurrent-consumers>
<session-transacted>false</session-transacted>
</jms-adapter>

4.92 processor (Oracle CQL)

processor要素を使用すると、Oracle CQLプロセッサ・コンポーネントを定義できます。この要素には、次の子要素があり、属性はありません。

- name

- record-parameters

- playback-parameters

- rules

- bindings (processor)

次の例はコンポーネント構成ファイル内のprocessor要素の使用方法を示します。この例では、processorの一意の識別子はcqlProcessorです。

<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>

4.93 profile

profile要素を使用すると、診断プロファイルを定義できます。この要素には、次の子要素があり、属性はありません。

- name

- enabled

- start-stage

- max-latency

- average-latency

- throughput

次の例はコンポーネント構成ファイル内の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>

4.94 query

query要素を使用すると、コンポーネントのOracle CQL問合せを定義できます。この要素には、子要素がなく、次の属性があります。

表4-2 queryコンポーネント構成要素の属性

属性

説明

データ型

必須?

id

この問合せの一意の識別子です。

String

はい。

active

アプリケーションのデプロイ時および実行時にこの問合せを実行します。

有効な値は、trueおよびfalseです。デフォルト値はfalseです。

Boolean

いいえ。

ordering-constraint

イベントをシリアルではなくパラレルに処理できるパラレル問合せ実行を有効または無効にします。

この属性は、次の3つの値をサポートします。

- ORDEREDは、問合せはイベントをシリアルに処理する必要があることを意味します。これはデフォルトの動作です。

- UNORDEREDは、可能であれば常に、CQLプロセッサは複数のスレッドでパラレルに実行して、イベントを処理することを意味します。

- PARTITION_ORDEREDは、問合せがイベントをパーティション化している場合にパーティション内の全体順序を確保し、可能な場合、パーティション間の順序を無視することを意味します。

String

いいえ。

partition-expression

パーティション間の順序付けの制約を緩和するための基準となるパーティション式(CQLコードで使用)。

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>

4.95 raw-xml-content

raw-xml-content要素を使用すると、EDN XMLデータ転送をRAW XML (trueの場合)とJavaオブジェクト(falseの場合)のどちらとして表すかを指定できます。デフォルトは、falseです。この要素には、子要素も属性もありません。

次の例はraw-xml-content要素の使用方法を示します。

<edn-adapter>
<name>ednOutboundAdapterJaxb</name>
<edl-file>CallCenterEvents.edl</edl-file>
<schema-file>callcenter.xsd</schema-file>
<validate>true</validate>
<package-name>org.callcenter</package-name>
<raw-xml-content>false</raw-xml-content>
<jndi-provider-url>vm://localhost</jndi-provider-url>
<jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory
</jndi-factory>
<user>test1</user>
<password>test123</password>
<delivery-mode>nonpersistent</delivery-mode>
</edn-adapter>

4.96 record-parameters

record-parameters要素を使用すると、コンポーネントをテストするためのイベント・レコード・パラメータを定義できます。アプリケーションの実行中に、EPNコンポーネントから永続ストアにフローするイベントを記録します。この要素には、次の子要素があり、属性はありません。

- dataset-name

- event-type-list

- provider-name

- store-policy-parameters

- max-size

- max-threads

- 次のいずれか。

- time-range

- time-range-offset

- batch-size

- batch-time-out

次の例はコンポーネント構成ファイル内の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>

4.97 repeat

repeat要素を使用すると、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>

4.98 rest-adapter

rest-adapter要素を使用すると、Representational State Transfer (REST)プロトコルを介して外部クライアントからHTTPポスト・データを受信するRESTアダプタを定義できます。RESTアダプタは、XML、CSVおよびJavaScript Object Notation (JSON)の各形式でデータを受け入れ、このデータを、インバウンドRESTアダプタで構成されているOracle Event Processingイベントに変換できます。

この要素には、次の子要素があり、属性はありません。

- event-type-name

- context-path

次のファイル例は、POSTデータを受信するためのrest-adapter構成、着信XMLおよびJSONデータを処理するためのjaxb-mapper構成、および着信CSVデータを処理するためのcsv-mapper構成を示します。

<rest-adapter>
<name>httpInbound</name>
<event-type-name>CallCenterActivity</event-type-name>
<context-path>/testhttpadapter</context-path>
</rest-adapter>
<jaxb-mapper>
<name>xmlMapperBean</name>
<event-type-name>CallCenterActivity</event-type-name>
<metadata>external_metadata_case1.xml</metadata>
</jaxb-mapper>
<csv-mapper>
<name>csvMapperBean</name>
<context-path>org.callcenter</context-path>
<validate>false</validate>
</csv-mapper>

4.99 rest-outbound-adapter

rest-outbound-adapter要素を使用すると、RESTプロトコルを介して外部クライアントにHTTP SENDデータを送信するRESTアダプタを定義できます。

4.100 rmi-adapter

rmi-adapter要素を使用すると、RMIアウトバウンド・アダプタを定義できます。RMIアウトバウンド・アダプタは、イベント情報をRMI接続に書き込みます。この要素には、次の子要素があり、属性はありません。

- jndi-name

- jndi-provider-url

- jndi-factory

- user
次のいずれか。

- password

- encrypted-password

次の例はRMIアウトバウンド・アダプタ構成を示します。

<rmi-adapter>
<name>rmi-outbound-adapter</name>
<jndi-name>RMIOutboundJNDIName</jndi-name>
<jndi-provider-url>t3://localhost:7001</jndi-provider-url>
<jndi-factory>weblogic.jndi.WLInitialContextFactory</jndi-factory>
</rmi-adapter>

4.101 rules

この要素を使用して、Oracle CQL プロセッサ(Oracle CQL)のルールを作成します。この要素には、次の子要素があり、属性はありません。

- rules

- query

- view

次の例はコンポーネント構成ファイル内の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>

4.102 schema

schema要素を使用すると、ビューで使用するストリーム要素のスペース区切りリストを指定できます。schema要素には、子要素も属性もありません。

次の例はOracle CQLルール内のschema要素の使用方法を示します。

<processor>
<name>cqlProcessor</name>
<rules>
<view id="lastEvents" schema="cusip bid ask"><![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>

4.103 schema-file

schema-file要素を使用すると、検証用のスキーマの・ファイル名前を指定できます。schema要素は、validate要素がtrueに設定されている場合に必要です。schema-file要素には、子要素も属性もありません。

次の例は構成ファイル内のschema-file要素の使用方法を示します。

<edn-adapter>
<name>ednInboundAdapterJaxb</name>
<edl-file>CallCenterEvents.edl</edl-file>
<schema-file>callcenter.xsd</schema-file>
<validate>true</validate>
<package-name>org.callcenter</package-name>
<raw-xml-content>false</raw-xml-content>
<jndi-provider-url>vm://localhost</jndi-provider-url>
<jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory
</jndi-factory>
<user>test1</user>
<password>test123</password>
</edn-adapter>

4.104 selector

selector要素を使用すると、どのアップストリームOracle CQLプロセッサの問合せがダウンストリームchannelに結果を送信することを許可されるかを指定できます。この要素には、子要素も属性もありません。

概念

この図は、アップストリームOracle CQLプロセッサfilteredFanoutProcessorに接続されたfilteredStreamチャネルを備えたEPNを示します。

次の問合せは、Oracle CQLプロセッサfilteredFanoutProcessor用として構成されています。

<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>

Oracle CQLプロセッサに複数の問合せを指定する場合、デフォルトでは、すべての問合せ結果がプロセッサのアウトバウンド・チャネルに送信されます(filteredStream)。オプションでコンポーネント構成ソースでchannel要素のselector子要素を使用し、次の例が示すようにチャネルに結果を送信する1つ以上のOracle CQL問合せ名のスペース区切りリストを指定できます。この例では、問合せYr3SectorおよびYr2Sectorの問合せ結果はfilteredStreamに送信されますが、問合せYr1Sectorの問合せ結果は送信されません。

<channel>
<name>filteredStream</name>
<selector>Yr3Sector Yr2Sector</selector>
</channel>

アップストリーム・プロセッサに問合せを作成する前に、selectorでchannel要素を構成することもできます。この場合、selector内の名前と一致する問合せ名を指定する必要があります。

注意:

selector属性はアップストリーム・ステージがOracle CQLプロセッサの場合のみ該当します。

例

次の例はコンポーネント構成ファイル内の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>

4.105 server-context-path

server-context-path必須要素を使用すると、パブリッシュ用のすべてのローカルhttp-pub-sub-adapterについてサーバーへのパスを指定できます。デフォルト値は/pubsubです。新たにローカルHTTPパブリッシュ/サブスクライブ・サーバーを作成、またはデフォルトの構成を変更した場合は、該当するpath子要素の値を指定します。

注意:

リモートHTTP pub-subアダプタにはserver-context-path要素を指定しないでください。

この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内のserver-context-path要素の使用方法を示します。

<http-pub-sub-adapter>
<name>localPub</name>
<server-context-path>/pubsub</server-context-path>
<channel>/test1</channel>
</http-pub-sub-adapter>

4.106 server-url

server-url必須要素を使用すると、パブリッシュ用またはサブスクライブ用のすべてのリモートhttp-pub-sub-adapterについてサーバーへのパスを指定できます。リモートHTTPパブリッシュ/サブスクライブ・サーバーには、Oracle Event Processingの別のインスタンス、WebLogic Serverインスタンス、または任意のサード・パーティHTTPパブリッシュ/サブスクライブ・サーバーを指定できます。次に例を示します。

http://myhost.com:9102/pubsub

注意:

ローカルHTTP pub-subアダプタにはserver-url要素オプションを指定しないでください。

この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内のserver-url要素の使用方法を示します。この例ではremotePublisherアダプタがイベントをパブリッシュする対象のリモートHTTPパブリッシュ/サブスクライブ・サーバーのURLはhttp://myhost.com:9102/pubsub となります。

<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>

4.107 session

複数のセッションが必要な場合は、default-session要素で共通構成をグループ化します。デフォルトでは、すべてのsessionタグが、default-sessionタグで宣言されているすべての要素を継承します。

4.108 session-ack-mode-name

session-ack-mode-nameを使用すると、jms-adapterのセッション確認モード名を定義できます。この要素には、子要素も属性もありません。

javax.jms.Sessionの有効な値は、次のとおりです。デフォルト値はAUTO_ACKNOWLEDGEです。

- AUTO_ACKNOWLEDGE: この確認モードを使用するとセッションが受信コールから正常に戻された場合か、またはセッションがメッセージ処理のためにコールしたメッセージ・リスナーが正常に戻る場合のいずれでもセッションは自動的にクライアントがメッセージを受信したことを確認します。

- CLIENT_ACKNOWLEDG: この確認モードを使用するとメッセージの確認メソッドをコールすることによって、クライアントは消費されたメッセージを確認します。

- DUPS_OK_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>

4.109 session-transacted

この要素を使用するとセッションをインバウンドまたはアウトバウンドの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>

4.110 source-url

source-urlエントリを使用すると、インバウンド・イベント・データが含まれるファイルをCSVインバウンド・アダプタが検索できる場所を指定できます。この要素には、子要素も属性もありません。

次の例はStockTradeCSVInboundAdapterのアセンブリ・ファイル・エントリを示します。

<wlevs:adapter id="StockTradeCSVInboundAdapter" provider="csv-inbound">
<wlevs:listener ref="AdapterOutputChannel"/>
<wlevs:instance-property name="eventType" value="TradeEvent"/>
<wlevs:instance-property name="sourceUrl"  value="file:////scratch/mpawlan/oep9-19/oep/utils/load-generator/StockData.csv"/>
</wlevs:adapter>

4.111 stage

stage要素を使用すると、診断プロファイルの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>

4.112 start

start要素を使用すると、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>

4.113 start-location

start-location要素を使用すると、診断プロファイルの開始位置を定義できます。この要素には、次の子要素があり、属性はありません。

- application

- stage

- direction

次の例はコンポーネント構成ファイル内の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>

4.114 start-stage

start-stage要素を使用すると、診断プロファイルの開始ステージを定義できます。この要素には、子要素も属性もありません。

有効な値は、イベント処理ネットワーク(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>

4.115 threshold

threshold要素を使用すると、Oracle Event Processingサーバーがログを記録する、監視イベントのしきい値を定義できます。この要素は診断プロファイルのaverage-latency内でのみ適用できます。

この要素には、次の子要素があり、属性はありません。

- amount

- unit

次の例はコンポーネント構成ファイル内のthreshold要素の使用方法を示します。

<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>

4.116 throughput

throughput要素を使用すると、診断プロファイルのスループットを定義できます。

- name

- throughput-interval

- average-interval

- location

次の例はコンポーネント構成ファイル内の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>

4.117 throughput-interval

throughput-interval要素を使用すると、診断プロファイルのスループット間隔を定義できます。この要素には、次の子要素があり、属性はありません。

- amount

- unit

次の例はコンポーネント構成ファイル内の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>

4.118 time-to-live

time-to-live要素を使用すると、エントリがキャッシュされる時間の最大数をミリ秒で定義できます。デフォルト値はinfiniteです。この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内の存続時間要素の使用方法を示します。

<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>

4.119 trace-parameters

trace-parameters要素を使用すると、イベント処理ネットワークのステージにイベント・トレースを構成できます。この要素には、次の子要素があり、属性はありません。

- channel-name

- active

次の例に示すコンポーネント構成の一部は、イベント・トレース用にプロセッサを構成する方法を示しています。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>

4.120 unit

unit要素を使用すると、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>

4.121 user

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)要素を使用します。

- rmi-adapter: user要素は、Oracle WebLogic Serverに対するRMI認証用として使用します。

- edn-adapter: user要素は、Oracle SOA SuiteのEDNまたはJMS認証用として使用します。

この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内の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>

4.122 validate

validate要素を使用すると、JAXBのマーシャリングおよびアンマーシャリング時にスキーマの検証を実行できます。検証を有効にするにはtrueに設定し、検証を無効にするにはfalseに設定します。

validate要素には、子要素も属性もありません。

次の例は構成ファイル内のvalidate要素の使用方法を示します。

<edn-adapter>
<name>ednInboundAdapterJaxb</name>
<edl-file>CallCenterEvents.edl</edl-file>
<schema-file>callcenter.xsd</schema-file>
<validate>true</validate>
<package-name>org.callcenter</package-name>
<raw-xml-content>false</raw-xml-content>
<jndi-provider-url>vm://localhost</jndi-provider-url>
<jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory
</jndi-factory>
<user>test1</user>
<password>test123</password>
</edn-adapter>

4.123 value

value要素を使用すると、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>

4.124 view

view要素を使用すると、コンポーネントのOracle CQLビューを定義できます。この要素には、子要素がなく、次の属性があります。

表4-3 viewコンポーネント構成要素の属性

属性

説明

データ型

必須?

id

この問合せの一意の識別子です。

String

はい。

active

アプリケーションのデプロイ時および実行時にこの問合せを実行します。

有効な値は、trueおよびfalseです。デフォルト値はfalseです。

Boolean

いいえ。

ordering-constraint

イベントをシリアルではなくパラレルに処理できるパラレル問合せ実行を有効または無効にします。

この属性は、次の3つのうち1つの値をサポートします。

- ORDEREDは、問合せはイベントをシリアルに処理する必要があることを意味します。これはデフォルトの動作です。

- UNORDEREDは、可能であれば常に、CQLプロセッサは複数のスレッドでパラレルに実行して、イベントを処理することを意味します。

- PARTITION_ORDEREDは、問合せがイベントをパーティション化している場合にパーティション内の全体順序を確保し、可能な場合、パーティション間の順序を無視することを意味します。

String

いいえ。

partition-expression

パーティション間の順序付けの制約を緩和するための基準となるパーティション式(CQLコードで使用)。

String

いいえ。

schema

ビューで使用されるstream要素のスペース区切りのリストです。

スペース区切りのトークンのStringです。

いいえ。

次の例はコンポーネント構成ファイル内の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>

4.125 work-manager

work-manager要素を使用すると、jms-adapterのワーク・マネージャ名を定義できます。この要素には、子要素も属性もありません。

有効な値は、Oracle Event Processingサーバー・ファイルのwork-manager要素のname子要素に指定した名前です。デフォルト値は、アプリケーション自身に構成されているワーク・マネージャです。

次の例はコンポーネント構成ファイル内の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>

4.126 work-manager-name

work-manager-name要素を使用すると、cacheのワーク・マネージャを定義できます。この要素には、子要素も属性もありません。

listeners要素にはwork-manager-nameという単一の子要素があり、これが非同期的なリスナーの起動に使用されるワーク・マネージャを指定します。この値は、同期的起動が有効化されている場合は無視されます。ワーク・マネージャがキャッシュそのものに指定されている場合、この値はリスナーのみを起動するためにオーバーライドします。

有効な値は、Oracle Event Processingサーバー・ファイルの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>

4.127 write-behind

write-behind要素を使用すると、キャッシュ・ストアへの非同期的な書込みを指定できます。キャッシュ・ストアは、キャッシュ・エントリの作成または更新の後で各スレッドから起動されます。この要素は動的に変更されます。

この要素には、次の子要素があり、属性はありません。

- work-manager-name

- batch-size

- buffer-size

- buffer-write-attempts

- buffer-write-timeout

次の例はコンポーネント構成ファイル内の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>

4.128 write-none

write-none要素を使用すると、キャッシュ・ストアへ書込みを行わないように指定できます。デフォルトの書込みポリシーでは書込みは行われません。この要素は動的に変更できます。この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内の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>

4.129 write-through

write-through要素を使用すると、キャッシュ・ストアへの同期的な書込みを指定できます。エントリが作成または更新されると、書込みが発生します。この要素は動的に変更できます。

この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内の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>

5 イベント記録および再生スキーマ

この章では、wlevs_eventstore_config.xsdスキーマの要素へのリファレンスを示します。このスキーマは、Oracle Event Processingのイベントの記録と再生を構成するために使用するXMLファイルの背後にあります。

この章の内容は次のとおりです。

- batch-size

- batch-time-out

- dataset-name

- event-type-list

- playback-speed

- provider-name

- recording-session-name

- schedule-time-range

- schedule-time-range-offset

- store-policy-parameters

- time-range

- time-range-offset

5.1 batch-size

この要素を使用すると、バッキング・ストアにライト・バックするためのストア・バッファから選択される更新数を定義できます。この要素は動的に変更できます。batch-size要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内の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>

5.2 batch-time-out

この要素を使用すると、イベント・ストアに書きこむ前に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-time-out要素の使用方法を示します。

5.3 dataset-name

dataset-name要素を使用すると、ユーザーがグループ化するデータのグループを定義できます。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>

5.4 event-type-list

event-type-list要素を使用すると、1つ以上の記録用イベントまたはコンポーネントの再生用イベントを定義できます。この要素には、event-type子要素があり、属性はありません。

次の例は、コンポーネント構成ファイル内の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>

5.5 playback-speed

playback-speed要素を使用すると、再生速度を正の浮動小数点数で定義できます。デフォルト値は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>

5.6 provider-name

provider-name要素は次の親要素で使用します。

- netio:provider-name要素を使用すると基礎となるソケット実装にどのプロバイダを使用するか定義できます。有効な値は、Oracle Event Processingサーバー・ファイルのnetioのprovider-type子要素です。

- record-parameters:provider-name要素を使用するとイベント・ストア・プロバイダの名前を定義できます。この要素の値は、Oracle Event Processingサーバー・インスタンスのファイル内のrdbms-event-store-provider要素のname子要素の値に対応しています。
Oracle RDBMSベースのプロバイダを構成する場合は、この要素を指定する必要があります。provider-name要素が空白の場合、デフォルトのBerkeleyデータベース・プロバイダが使用されます。

この要素には、子要素も属性もありません。

次の例はコンポーネント構成ファイル内のprovider-name要素の使用方法を示します。

<netio>
<provider-name>providerCache</provider-name>
<num-threads>1000</num-threads>
</netio>

5.7 recording-session-name

recording-session-name要素を使用すると、記録セッションにプログラムによってアクセスできるように、そのセッションの名前を指定できます。この要素には、子要素も属性もありません。

次の例は構成ファイル内のこの要素の使用方法を示します。

<record-parameters>
<dataset-name>tuple1</dataset-name>
<recording-session-name>sessionname</recording-session-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>

5.8 schedule-time-range

schedule-time-range要素を使用すると、イベントがステージに再生される期間を指定できます。再生は指定した開始時間に始まり、すべてのイベントが再生されるか、または指定した終了時間まで継続されます。repeatがtrueに設定されている場合、再生は指定した終了時間またはユーザーが明示的に再生を停止するまで継続します。この要素は、playback-parameters要素にのみ適用されます。

この要素には、次の子要素があり、属性はありません。

- start

- end

次の例はコンポーネント構成ファイル内の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>

5.9 schedule-time-range-offset

この要素を使用するとイベントがステージに再生される期間を指定できます。再生は指定した開始時間に始まり、すべてのイベントが再生されるか、または指定した終了時間まで継続されます。repeatがtrueに設定されている場合、再生は指定した終了時間またはユーザーが明らかに再生を中断するまで継続します。この要素は、playback-parameters要素にのみ適用されます。

この要素には、次の子要素があり、属性はありません。

- start

- duration

次の例はコンポーネント構成ファイル内の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>

5.10 store-policy-parameters

store-policy-parameters要素を使用すると、イベント・ストア・プロバイダに固有のストア・ポリシー・パラメータを1つ以上定義できます。この要素には、parameter子要素があり、属性はありません。

次の例はコンポーネント構成ファイル内の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>

5.11 time-range

time-range要素を使用すると、Oracle Event Processingサーバーがイベント・ストアでイベントに適用するフィルタを定義できます。この時間範囲内のrecord-timeを持つイベントのみがステージに再生されます。

注意:

time-range-offsetまたはtime-rangeのいずれかを使用します。ただし、両方を使用することはできません。

この要素には、次の子要素があり、属性はありません。

- start

- end

次の例はコンポーネント構成ファイル内の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>

5.12 time-range-offset

time-range-offset要素を使用すると、Oracle Event Processingサーバーがイベント・ストアでイベントに適用するフィルタを定義できます。この時間範囲内のrecord-timeを持つイベントのみがステージに再生されます。

注意:

time-rangeまたはtime-range-offsetのいずれかを使用します。ただし、両方を使用することはできません。

この要素には、次の子要素があり、属性はありません。

- start

- duration

次の例はコンポーネント構成ファイル内の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>

6 デプロイメント・スキーマ

この章では、deployment.xsdスキーマの要素へのリファレンスを示します。deployment.xsdスキーマは、Oracle Event Processingアプリケーションのデプロイメントを構成する際に使用するXMLの背後にあります。

この章の内容は次のとおりです。

- デプロイメントの要素と階層

- wlevs:deployment

6.1 デプロイメントの要素と階層

Oracle Event Processingには多数のアプリケーション・アセンブリ要素が用意されており、それらの要素をアプリケーションのEPNアセンブリ・ファイル内で使用して、イベント・タイプを登録し、イベント処理ネットワークのコンポーネントを宣言し、各コンポーネントがどのように相互にリンクしているかを指定します。EPNアセンブリ・ファイルは、標準のSpringコンテキスト・ファイルの拡張です。

Oracle Event Processingコンポーネント構成要素は、次の階層で構成されます。

beans
Standard Spring and OSGi elements such as bean, osgi-service, and so on.

6.2 wlevs:deployment

この要素を使用して、Springアプリケーション・コンテキストに対してアダプタ・コンポーネントを宣言します。この要素には、子要素がなく、次の属性があります。

表6-1 wlevs:deploymentデプロイメント要素の属性

属性

説明

データ型

必須?

id

このデプロイされたアプリケーションの固有の識別子です。

String

はい。

depends-on

このデプロイメントBeanが依存するBeanの名前が初期化中です。このBeanの前にこれらのBeanが初期化されることがBeanファクトリにより保証されます。

String

いいえ。

location

デプロイするバンドルの場所を指定するURLです。相対URLが指定されている場合、locationは相対DOMAIN_DIRドメイン・ディレクトリです。

次に例を示します。

location="file:applications/simpleApp/simpleApp.jar"

DOMAIN_DIR/applications/simpleAppのディレクトリにあるsimpleApp.jarバンドルをOracle Event Processingサーバーにデプロイすることを指定します。

String

いいえ。

state

Oracle Event Processingサーバーにデプロイされた後のバンドルの状態を指定します。この属性の値は以下のいずれかにします。

- start: クライアント・リクエストの取得をただちに開始するようにバンドルをインストールし起動します。

- install: バンドルをインストールしますが、起動はしません。

- update: 既存のバンドルを更新します。

デフォルト値: start。

TState

いいえ。

型

バンドルのタイプを指定します。この属性の値は以下のいずれかにします。

- library: ライブラリ・バンドルです。

- application: Oracle Event Processingアプリケーションです。

デフォルト値: application。

TBundleType

いいえ

group-name

アプリケーションのデプロイ先であるクラスタ・グループの名前を指定します。

String

いいえ

start-level

int

いいえ

apply-parameters

アプリケーションのmeta-typeリソースに関連するアプリケーション・パラメータを適用するかどうかを指定します。デフォルトの動作では、アプリケーションをデプロイする最初の1回のみインスタンス化します。

TapplyParams

いいえ

6.2.1 例

次の例は、デプロイメント・ファイルでwlevs:deployment要素を使用する方法を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wlevs="http://www.bea.com/ns/wlevs/deployment" xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.bea.com/ns/wlevs/deployment
http://www.bea.com/ns/wlevs/deployment/deployment.xsd">
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
</bean>
<wlevs:deployment
id="fx"
state="start"
location="file:${wlevs.domain.home}/applications/fx/com.bea.wlevs.example.fx_11.1.0.0.jar"/>
</beans>

7 サーバー構成スキーマ

この章では、ロギング、Oracle Continuous Query Language (CQL)、Secure Sockets Layer (SSL)、Java Management Extensions (JMX)、HTTPパブリッシュ・サブスクライブなどのOracle Event Processingサーバーの属性およびサービスを構成するのに使用するXMLの背後にあるスキーマである、wlevs_server_config.xsdスキーマの要素へのリファレンスを示します。

この章の内容は次のとおりです。

- Oracle Event Processingサーバーの構成要素

- auth-constraint

- bdb-config

- calendar

- channels

- channel-constraints

- channel-resource-collection

- cluster

- connection-pool-params

- cql

- data-source

- data-source-params

- driver-params

- domain

- debug

- event-inspector

- event-store

- exported-jndi-context

- glassfish-ws

- http-pubsub

- jetty

- jetty-web-app

- jmx

- jndi-context

- log-file

- log-stdout

- logging-service

- message-filters

- name

- netio

- netio-client

- partition-order-capacity

- path

- pubsub-bean

- rdbms-event-store-provider

- rmi

- scheduler

- server-config

- services

- show-detail-error-message

- ssl

- timeout-seconds

- transaction-manager

- use-secure-connections

- weblogic-instances

- weblogic-jta-gateway

- weblogic-rmi-client

- work-manager

- xa-params

7.1 Oracle Event Processingサーバーの構成要素

Oracle Event Processingには、多数のサーバー構成要素が用意されており、それらを使用してOracle Event Processingサーバー固有の属性およびサービスを構成します。

最上位のOracle Event Processingサーバー構成要素は、次の階層で構成されます。

config
domain
rmi
jndi-context
exported-jndi-context
jmx
transaction-manager
work-manager
logging-service
log-stdout
log-file
jetty-web-app
netio
jetty
glassfish-ws
netio-client
debug
data-source
http-pubsub
event-store
cluster
bdb-config
rdbms-event-store-provider
user-event-store-provider
ssl
weblogic-rmi-client
weblogic-jta-gateway
use-secure-connections
show-detail-error-message
cql
event-inspector

7.2 auth-constraint

auth-constraint要素を使用すると、channel-constraints要素の認可制約を構成できます。この要素には、次の子要素があり、属性はありません。

表7-1 子要素: auth-constraint

XMLタグ

型

説明

description

string

ロールの説明。

role-name

string

有効なロール名。

チャネルの詳細は、「channels」を参照してください。

次の例は、Oracle Event Processingサーバー構成ファイル内のauth-constraint要素の使用方法を示します。

<http-pubsub>
<name>myPubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
...
<channel-constraints>
<element>
...
<auth-constraint>
<description>Administrators</description>
<role-name>admin</role-name>
</auth-constraint>
</element>
</channel-constraints>
</pub-sub-bean>
</http-pubsub>

7.3 bdb-config

bdb-config要素を使用すると、Berkeleyデータベース・インスタンスを使用するデフォルトのイベント・ストア・プロバイダを構成できます。

オプションで、Oracle Event Processingサーバーを構成して、イベント・ストア・プロバイダに、リレーショナル・データベース・インスタンスを使用できます(詳細は、rdbms-event-store-providerを参照してください)。

この要素には、次の子要素があり、属性はありません。

表7-2 子要素: bdb-config

XMLタグ

型

説明

db-env-path

string

サーバーのDOMAIN_DIR/servername/configディレクトリを基準にして、Oracle Event ProcessingサーバーによりBerkeleyデータベース・インスタンスが作成されるサブディレクトリを指定します(この場合、DOMAIN_DIRは、/oracle_cep/user_projects/domains/myDomainなどのドメイン・ディレクトリを指し、servernameは、defaultserverなどのサーバー名を指します)。

デフォルト: bdb

cache-size

long

Berkeleyデータベースのキャッシュ・エントリに使用可能なメモリー量をバイト単位で指定します。キャッシュ・サイズを調整し、Berkeleyデータベースのパフォーマンスをチューニングできます。

デフォルト: je.maxMemoryPercent * JVM最大メモリー

次の例は、Oracle Event Processingサーバー構成ファイル内のbdb-config要素の使用方法を示します。

<bdb-config>
<db-env-path>bdb</db-env-path>
<cache-size>1000</cache-size>
</bdb-config>

7.4 calendar

calendar要素を使用すると、Oracle Event Processingサーバーでcqlカレンダ・オプションを構成できます。この要素には、次の子要素があり、属性はありません。

表7-3 子要素: calendar

XMLタグ

型

説明

date-format

string

文字列は、java.text.DateFormatの説明と一致する必要があります。

timezone

string

文字列は、java.util.TimeZoneの説明と一致する必要があります。

次の例は、Oracle Event Processingサーバー構成ファイル内のcalendar要素の使用方法を示します。この例では、cql要素の一意の識別子はmyCQLです。

<cql>
<name>myCQL</name>
<storage>
<folder>myfolder</folder>
<metadata-name>myname</metadata-name>
</storage>
<calendar>
<date-format>myclass</date-format>
<timezone>10</timezone>
</calendar>
<scheduler>
<class-name>myclass</class-name>
<threads>10</threads>
<direct-interop>false</direct-interop>
</scheduler>
</cql>

7.5 channels

channels要素を使用すると、pubsub-bean要素の1つ以上のチャネルを構成できます。チャネル・パターンは、常にスラッシュ(/)で開始します。クライアントは、メッセージのパブリッシュ、またはメッセージの受信のためにこれらのチャネルにサブスクライブします。

この要素には、1つ以上のelement子要素が含まれ、それぞれの子要素はchannel-pattern子要素およびゼロ以上のmessage-filters子要素を持ちます。各message-filters子要素には、message-filters要素に対応するmessage-filter-nameのstring値を持つelement子要素が含まれます。

この要素に属性はありません。

次の例は、Oracle Event Processingサーバー構成ファイル内のchannels要素の使用方法を示します。

<http-pubsub>
<name>myPubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>
true
</publish-without-connect-allowed>
</server-config>
<channels>
<element>
<channel-pattern>/evsmonitor</channel-pattern>
</element>
<element>
<channel-pattern>/evsalert</channel-pattern>
</element>
<element>
<channel-pattern>/evsdomainchange</channel-pattern>
</element>
</channels>
</pub-sub-bean>
</http-pubsub>

7.6 channel-constraints

channel-constraints要素を使用すると、pubsub-bean要素の1つ以上のチャネル制約を構成できます。この要素には、次の子要素があり、属性はありません。

- channel-resource-collection

- auth-constraint

チャネルの詳細は、「channels」を参照してください。

次の例は、Oracle Event Processingサーバー構成ファイル内のchannel-constraints要素の使用方法を示します。

<http-pubsub>
<name>myPubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
...
<channel-constraints>
<element>
<channel-resource-collection>
<element>
<channel-resource-name>Foo</channel-resource-name>
<descriptions>
<element>Foo</element>
</descriptions>
<channel-patterns>
<element>Foo</element>
</channel-patterns>
<channel-operations>
<element>Foo</element>
</channel-operations>
</element>
</channel-resource-collection>
<auth-constraint>
<description>Foo</description>
<role-name>Foo</role-name>
</auth-constraint>
</element>
</channel-constraints>
</pub-sub-bean>
</http-pubsub>

7.7 channel-resource-collection

channel-resource-collection要素を使用すると、channel-constraints要素の1つ以上のチャネル・リソース・コレクションを構成できます。この要素には、次の子要素があり、属性はありません。

表7-4 子要素: channel-resource-collection

XMLタグ

型

説明

channel-resource-name

string

このチャネル・リソース名。

descriptions

string

このチャネル・リソース・コレクションの説明。

この要素には、string値を持つelement子要素が含まれます。

channel-patterns

string

チャネル・パターンを指定します。

この要素には、string値を持つelement子要素が含まれます。

channel-operations

string

チャネルへの操作を指定し、次を含む値を検証します。

- create

- delete

- subscribe

- publish

この要素には、string値を持つelement子要素が含まれます。

チャネルの詳細は、「channels」を参照してください。

次の例は、Oracle Event Processingサーバー構成ファイル内のchannel-resource-collection要素の使用方法を示します。

<http-pubsub>
<name>myPubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
...
<channel-constraints>
<element>
<channel-resource-collection>
<element>
<channel-resource-name>Foo</channel-resource-name>
<descriptions>
<element>Foo</element>
</descriptions>
<channel-patterns>
<element>Foo</element>
</channel-patterns>
<channel-operations>
<element>Foo</element>
</channel-operations>
</element>
</channel-resource-collection>
<auth-constraint>
<description>Foo</description>
<role-name>Foo</role-name>
</auth-constraint>
</element>
</channel-constraints>
</pub-sub-bean>
</http-pubsub>

7.8 cluster

cluster要素を使用すると、Oracle Event Processingサーバーでクラスタ・コンポーネントを構成できます。この要素には、次の子要素があり、属性はありません。

表7-5 子要素: cluster

XMLタグ

型

説明

name

string

このクラスタの名前。詳細は、「name」を参照してください。

server-name

string

一意のサーバー名を指定します。コンソールにサーバーを表示する場合、Oracle Event Processing Visualizerはこの要素の値を使用します。

デフォルト値:

- Oracle Event Processingネイティブ・クラスタリング: WLEvServer-identity。ここで、identityはidentity要素の値です。

- Oracle Coherence:WLEvServer-identity。ここで、identityはOracle Coherenceによって決定されるメンバーIDです。

server-host-name

string

ポイント・ツー・ポイントHTTPマルチサーバー通信に使用されるホスト・アドレスまたはIPを指定します。デフォルト値は、マシンのデフォルトNICに関連付けられたIPアドレスです。

multicast-address

string

この子要素は、マルチサーバー・ドメインのすべてのサーバーが同一のコンピュータにホストされていない場合に必要となります。この場合、multicast-address要素を省略でき、Oracle Event ProcessingはコンピュータのIPアドレスに基づいて自動的にマルチキャスト・アドレスをマルチサーバー・ドメインに割り当てます。

ただし、サーバーが異なるコンピュータ上でホストされる場合、適切なドメイン・ローカル・アドレスを提供する必要があります。Oracleは、239.255.X.X形式のアドレスを使用することをお薦めします。自動で割り当てられたマルチキャスト・アドレスは、このアドレスに基づきます。

このmulticast-addressを使用するすべてのOracle Event Processingサーバーは、同じサブセット上で稼働する必要があります。

Oracle Coherenceを使用すると、拡張機能もあります。ユニキャスト・アドレスを使用する場合、Oracle CoherenceはWell Knownアドレス(WKA)モードで構成されます。これは、マルチキャストをサポートしない環境で必要です。

multicast-interface

string

マルチキャスト・アドレスのバインド先のインタフェース名。次のいずれかになります。

- eth0などの単純な名前です。

- 192.168.1.2などの、NICのバインド先のIPアドレス。

- NICのバインド先のIPアドレスおよびネットワーク・マスク。192.68.1.2/255.255.255.0のように、/で区切られます。

multicast-port

int

マルチキャスト・トラフィックに使用されるポートを指定します。デフォルト値は、9100です。

identity

string

Oracle Event Processingのネイティブ・クラスタリングにのみ適用可能であり、サーバーのIDを指定します(1からINT_MAXの間の整数を指定します)。Oracle Event Processingは、マルチサーバー操作中にサーバー・アイデンティティを数値的に比較し、最小のアイデンティティを持つサーバーがドメイン・コーディネータになります。マルチサーバー・ドメイン内の各サーバーは、必ず異なるアイデンティティを持つようにしてください。サーバーが同一のアイデンティティを持つ場合、マルチサーバー操作の結果は予測できなくなります。

Oracle Coherenceには適用できません。

enabled

説明を参照

クラスタが有効かどうかを指定します。有効な値は、次のとおりです。

- coherence

- evs4j

- true: クラスタは有効(Oracle Coherenceモード)

- false: クラスタは無効(デフォルト)

security

説明を参照

このクラスタのセキュリティ・タイプを指定します。有効な値は次のとおりです。

- none: デフォルト値。マルチサーバー・ドメインにセキュリティを構成しないことを指定します。

- encrypt: マルチサーバー・メッセージが暗号化されるように指定します。

groups

string

このクラスタが属するグループ名のカンマ区切りのリストを指定します。

operation-timeout

int

ポイント・ツー・ポイントHTTPマルチサーバー・リクエストのタイムアウトを指定します(ミリ秒)。デフォルト値は、30000です。

次の例は、Oracle Event Processingサーバー構成ファイル内のcluster要素の使用方法を示します。

<cluster>
<name>MyCluster</name>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>true</enabled>
</cluster>

7.9 connection-pool-params

connection-pool-params要素を使用すると、接続プール関連のdata-sourceパラメータを指定できます。この要素には、次の子要素があり、属性はありません。

表7-6 子要素: connection-pool-params

XMLタグ

型

説明

statement-timeout

int

現在実行中の文がタイムアウトする時間です。statement-timeoutは、基礎となるJDBCドライバ・サポートに依存します。サーバーは、java.sql.Statement.setQueryTimeoutメソッドを使用することによって、JDBCドライバに指定された時間を渡します。使用しているJDBCドライバでこのメソッドをサポートしていない場合、例外がスローされてタイムアウト値が無視されることがあります。値を-1に指定すると、この機能は無効になります。値を0に指定すると、文はタイムアウトしないことになります。

デフォルト: -1。

profile-harvest-frequency-seconds

int

診断プロファイルの収集操作中の秒数。

デフォルト: 300。

inactive-connection-timeout-seconds

int

接続が再要求され、接続プールに解放される前に予約された接続で非アクティブになる秒数。

デフォルト: 0。

shrink-frequency-seconds

int

要求を満たすために徐々に増加した接続プールが縮小する前に待機する秒数。

デフォルト: 900。

driver-interceptor

string

JDBCドライバへのメソッド・コールを補足するために使用されるアプリケーション・クラスの絶対名を指定します。指定されるアプリケーションは、weblogic.jdbc.extensions.DriverInterceptorインタフェースを実装する必要があります。

seconds-to-trust-an-idle-pool-connection

int

接続がアプリケーションに渡される前、または定期的な接続テストの処理中に、その接続がまだ有効であると信頼されて接続テストがスキップされる接続使用の秒数。

デフォルト: 10。

pinned-to-thread

boolean

このオプションは、アプリケーションが論理接続を終了した後でさえもプールされたデータベース接続を維持するための実行スレッドを有効化することによって、パフォーマンスを向上できます。

デフォルト: false

test-connections-on-reserve

boolean

クライアントに渡す前に接続をテストします。test-table-nameを指定する必要があります。

デフォルト: false

profile-type

int

収集対象のプロファイル・データの種類を指定します。

statement-cache-type

string

文キャッシュに格納されたプリコンパイルされた文の管理に使用するアルゴリズム有効な値は次のとおりです。

- LRU: 新しいプリコンパイルされた文または呼出し可能な文が使用されるときに、最も長い期間使用されていない文がキャッシュ内で置換されます。

- FIXED: プリコンパイルされた文および呼出し可能な文の最初の固定数がキャッシュされます。

デフォルト: LRU。

connection-reserve-timeout-seconds

int

接続プールからの接続を予約するコールがタイムアウトするまでの秒数。0に設定すると、コールはタイムアウトしません。-1に設定すると、コールはすぐにタイムアウトします。

デフォルト: -1。

credential-mapping-enabled

boolean

アプリケーションがデータベース接続をリクエストするとき、サーバーがデータベースIDのマップに基づいてデータベース接続上で軽量クライアントIDを設定することを有効化します。

デフォルト: false

login-delay-seconds

int

各物理データベース接続を作成するまでにかかる遅延時間(秒)。この遅延により、短時間に連続する複数の接続リクエストを処理できないデータベース・サーバーがサポートされます。この遅延は、最初にデータ・ソースが作成されるときにも、データ・ソースの生存期間中に物理データベース接続が作成されるときにも発生します。

デフォルト: 0。

test-table-name

string

物理データベース接続のテスト時に使用するデータベース表の名前。この名前は、test-frequency-secondsを指定し、test-reserved-connectionsを有効化するときに必要になります。接続テストに使用されるデフォルトのSQLコードはselect count(*) from test-table-nameです。ここで、test-table-nameはtest-table-name要素の値です。大半のデータベース・サーバーは、表スキャンを回避するためにこのSQLを最適化しますが、表名にtest-table-nameを設定してもよいでしょう。この表は、行をほとんど持たないか、あるいはまったく持ちません。test-table-nameがSQLで始まる場合、その先行トークンに続く残りの文字列は、標準の問合せのかわりに接続テストに使用されるリテラルのSQL文と解釈されます。

statement-cache-size

int

キャッシュに保存されるプリコンパイルされた文および呼出し可能な文の数で、1から1024までになります。これによって、サーバーのパフォーマンスが向上することがあります。

デフォルト: 10。

init-sql

string

新しく作成した物理データベース接続を初期化するときに実行されるSQL文。文はSQLで開始し、次にスペースを入れます。

connection-creation-retry-frequency-seconds

int

データベースへの接続確立を試行する間隔の秒数。この値を設定しないと、データ・ソース作成はデータベースが使用できない場合に失敗します。値を設定し、データ・ソースの作成時にデータベースが使用できない場合、サーバーは、指定する秒数後にもう一度プール内で接続の作成を試行し、成功するまで接続の作成を試行し続けます。0に設定すると、接続の再試行は無効化されます。

デフォルト: 0。

test-frequency-seconds

int

未使用の接続がサーバーにテストされる秒間隔。(「テスト対象の表名」を指定する必要があります。)テストに失敗した接続は閉じられ、再度開かれて有効な物理接続が再確立されます。テストが再度失敗すると、その接続は閉じられます。マルチ・データ・ソースでは、サーバーが以前に異常とマークしたデータ・ソースの状態をチェックする頻度をこの属性が制御します。0に設定すると、この機能は無効化されます。

デフォルト: 120。

jdbc-xa-debug-level

int

XAドライバのJDBCデバッグ・レベルを指定します。

デフォルト: 10。

initial-capacity

int

データ・ソースに接続プールを作成するときに作成する物理接続の数。この数の接続を作成できない場合、データ・ソースの作成は失敗します。

デフォルト: 1。

max-capacity

int

この接続プールが保有できる物理接続の最大数。

デフォルト: 15。

capacity-increment

int

新規接続の接続プールへの追加時に作成される接続数。

デフォルト: 1。

highest-num-waiters

int

データ・ソースの接続プールからの接続の予約を待機する間、同時にスレッドをブロックできる接続リクエストの最大数。

デフォルト: Integer.MAX_VALUE。

次の例は、Oracle Event Processingサーバー構成ファイル内のconnection-pool-params要素の使用方法を示します。

<data-source>
<name>orads</name>
<xa-params>
<keep-xa-conn-till-tx-complete>true</keep-xa-conn-till-tx-complete>
</xa-params>
<driver-params>
<url>jdbc:oracle:thin:@localhost:1521:ce102</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<element>
<name>user</name>
<value>wlevs</value>
</element>
<element>
<name>password</name>
<value>wlevs</value>
</element>
</properties>
</driver-params>
<connection-pool-params>
<initial-capacity>5</initial-capacity>
<max-capacity>10</max-capacity>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<test-frequency-seconds>5</test-frequency-seconds>
</connection-pool-params>
<data-source-params>
<jndi-names>
<element>orads</element>
</jndi-names>
<global-transactions-protocol>None</global-transactions-protocol>
</data-source-params>
</data-source>

7.10 cql

cql要素を使用すると、Oracle Event ProcessingサーバーでOracle CQL固有オプションを構成できます。この要素には、次の子要素があり、属性はありません。

- name

- calendar

- scheduler

- calendar

- partition-order-capacity

次の例は、Oracle Event Processingサーバー構成ファイル内のcql要素の使用方法を示します。

<cql>
<name>myCQL</name>
<storage>
<folder>myfolder</folder>
<metadata-name>myname</metadata-name>
</storage>
<scheduler>
<class-name>myclass</class-name>
<threads>10</threads>
<direct-interop>false</direct-interop>
</scheduler>
</cql>

7.11 data-source

このdata-source要素は、データ・ソース・サービスの構成を定義します。

- name

- xa-params

- data-source-params

- connection-pool-params

- driver-params

次の例は、Oracle Event Processingサーバー構成ファイル内のdata-source要素の使用方法を示します。この例では、data-source要素の一意の識別子はoradsです。

<data-source>
<name>orads</name>
<driver-params>
<url>jdbc:oracle:thin:@localhost:1521:ce102</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<element>
<name>user</name>
<value>wlevs</value>
</element>
<element>
<name>password</name>
<value>wlevs</value>
</element>
</properties>
</driver-params>
<connection-pool-params>
<initial-capacity>5</initial-capacity>
<max-capacity>10</max-capacity>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<test-frequency-seconds>5</test-frequency-seconds>
</connection-pool-params>
<data-source-params>
<jndi-names>
<element>orads</element>
</jndi-names>
<global-transactions-protocol>None</global-transactions-protocol>
</data-source-params>
</data-source>

7.12 data-source-params

data-source-params要素を使用すると、データ・ソース関連のdata-sourceパラメータを指定できます。この要素には、次の子要素があり、属性はありません。

表7-7 子要素: data-source-params

XMLタグ

型

説明

algorithm-type

説明を参照

マルチ・データ・ソースの接続リクエスト処理を決定するアルゴリズム。有効な値は次のとおりです。

- Failover

- Load-Balancing

デフォルト: Failover。

stream-chunk-size

int

ストリーム・データ型のデータ・チャンク・サイズを1から65536まで指定します。

デフォルト: 256。

row-prefetch

boolean

1回のサーバー・アクセスで複数の行がプリフェッチされる(つまり、サーバーからクライアントに送信される)かどうかを指定します。

デフォルト: false

data-source-list

string

マルチ・データ・ソースが接続リクエストを送信するデータ・ソースのリスト。リスト内のデータ・ソースの順番でフェイルオーバーの順序が決まります。

failover-request-if-busy

boolean

フェイルオーバー・アルゴリズムを使用するマルチ・データ・ソースでは、現在のデータ・ソースのすべての接続が使用中である場合に、接続リクエストを次のデータ・ソースにフェイルオーバーできます。

デフォルト: false

row-prefetch-size

int

行のプリフェッチが有効化されている場合、クライアント用にプリフェッチする結果セットの行数を2から65536まで指定します。

デフォルト: 48。

jndi-names

説明を参照

このデータ・ソースのバインド先のJNDIパス。デフォルトでは、JNDI名はデータ・ソースの名前です。この要素には、次の子要素が含まれます。

- element: 有効なdata-source要素の文字列名を含みます。詳細は、「data-source」を参照してください。

- config-data-source-DataSourceParams-JNDINames。

scope

boolean

データ・ソースの範囲を指定します。GlobalのみはMSAでサポートされる範囲なので注意してください。

デフォルト: Global。

connection-pool-failover-callback-handler

string

マルチ・データ・ソースがマルチ・データ・ソース内の別のデータ・ソースに接続リクエストをフェイルオーバーまたはフェイルバックする準備ができているときに、送られたコールバックを処理するアプリケーション・クラスの名前。この名前は、weblogic.jdbc.extensions.ConnectionPoolFailoverCallbackインタフェースを実装するアプリケーション・クラスの絶対名です。

global-transactions-protocol

int

データ・ソースのトランザクション・プロトコル(グローバル・トランザクション処理動作)を決定します。有効な値は次のとおりです。

- TwoPhaseCommit: 標準XA トランザクション処理。XAドライバが必要です。

- LoggingLastResource: 1つの非XAリソースに対するパフォーマンス強化。

- EmulateTwoPhaseCommit: 1つの非XAリソースがグローバル・トランザクションに参加することを有効化します。ただし、データにリスクが発生することがあります。

- OnePhaseCommit: 非XAドライバを使用した、1フェーズXAトランザクション処理。これはデフォルト設定です。

- None: ローカル・トランザクションのみサポートします。

デフォルト: OnePhaseCommit。

次の例は、Oracle Event Processingサーバー構成ファイル内のdata-source-params要素の使用方法を示します。

<data-source>
<name>orads</name>
<xa-params>
<keep-xa-conn-till-tx-complete>true</keep-xa-conn-till-tx-complete>
</xa-params>
<driver-params>
<url>jdbc:oracle:thin:@localhost:1521:ce102</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<element>
<name>user</name>
<value>wlevs</value>
</element>
<element>
<name>password</name>
<value>wlevs</value>
</element>
</properties>
</driver-params>
<connection-pool-params>
<initial-capacity>5</initial-capacity>
<max-capacity>10</max-capacity>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<test-frequency-seconds>5</test-frequency-seconds>
</connection-pool-params>
<data-source-params>
<jndi-names>
<element>orads</element>
</jndi-names>
<global-transactions-protocol>None</global-transactions-protocol>
</data-source-params>
</data-source>

7.13 driver-params

driver-params要素を使用すると、JDBCドライバ関連のdata-sourceパラメータを指定できます。この要素には、次の子要素があり、属性はありません。

表7-8 子要素: driver-params

XMLタグ

型

説明

use-xa-data-source-interface

boolean

サーバーがJDBCドライバのXAインタフェースを使用するように指定します。データベース接続の作成に使用されるJDBCドライバ・クラスが、JDBCドライバのXAおよび非XAバージョンの両方を実装する場合、この属性を設定して、サーバーがJDBCドライバをXAドライバまたは非XAドライバとして処理することを指定するようにできます。

デフォルト: true。

password

string

物理データベース接続の作成時にJDBCドライバに渡されるパスワード属性。

driver-name

string

データ・ソースの接続プールで物理データベース接続の作成に使用するJDBCドライバ・クラスの完全パッケージ名。

url

string

データベースの接続先のURL。URLの書式は、使用するJDBCドライバによって異なります。このURLは、物理データベース接続を作成するためにJDBCドライバに渡されます。

properties

string

物理データベース接続の作成時にJDBCドライバに渡されるプロパティのリストを指定します。この要素には、次の子要素を持つ1つ以上のelement子要素が含まれます。

- name: プロパティ名。

- value: プロパティ値。

次の例は、Oracle Event Processingサーバー構成ファイル内のdriver-params要素の使用方法を示します。

<data-source>
<name>orads</name>
<xa-params>
<keep-xa-conn-till-tx-complete>true</keep-xa-conn-till-tx-complete>
</xa-params>
<driver-params>
<url>jdbc:oracle:thin:@localhost:1521:ce102</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<element>
<name>user</name>
<value>wlevs</value>
</element>
<element>
<name>password</name>
<value>wlevs</value>
</element>
</properties>
</driver-params>
<connection-pool-params>
<initial-capacity>5</initial-capacity>
<max-capacity>10</max-capacity>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<test-frequency-seconds>5</test-frequency-seconds>
</connection-pool-params>
<data-source-params>
<jndi-names>
<element>orads</element>
</jndi-names>
<global-transactions-protocol>None</global-transactions-protocol>
</data-source-params>
</data-source>

7.14 domain

domain要素を使用すると、Oracle Event Processingサーバーでドメイン名を構成できます。この要素には、name子要素があり、属性はありません。

次の例は、Oracle Event Processingサーバー構成ファイル内のdomain要素の使用方法を示します。この例では、domainの一意の識別子はWLEventServerDomainです。

<domain>
<name>WLEventServerDomain</name>
</domain>

7.15 debug

debug要素を使用すると、Oracle Event Processingサーバーの1つ以上のデバッグ・プロパティを構成できます。この要素には、次の子要素があり、属性はありません。

表7-9 子要素: debug

XMLタグ

型

説明

name

string

このdebug構成の名前。詳細は、「name」を参照してください。

debug-properties

string

デバッグ・フラグ名(そのパッケージ名は使用せずに)を使用し、値をtrueに指定することによって、1つ以上の子要素が形成されます。

次の例は、Oracle Event Processingサーバー構成ファイルで、デバッグ・フラグcom.bea.core.debug.DebugSDSを使用して、Simple Declarative Services (SDS)デバッグ処理を有効にするための、debug要素の使用方法を示しています。

<debug>
<name>myDebug</name>
<debug-properties>
<DebugSDS>true</DebugSDS>
...
</debug-properties>
</debug>

7.16 event-inspector

event-inspector要素を使用すると、コンポーネントをテストできます。この要素には、pubsub-server-name子要素があり、属性はありません。

pubsub-server-nameの値は、ローカルのOracle Event Processingサーバー・ファイルで定義されたhttp-pubsub要素のname子要素の値です。

次の例は、構成ファイル内でのevent-inspector要素の使用方法を示します。

<event-inspector>
<name>myEventInspectorConfig</name>
<pubsub-server-name>myPubSub</pubsub-server-name>
</event-inspector>

次の例は、対応するローカルのOracle Event Processingサーバー・ファイルのエントリを示しています。

<http-pubsub>
<name>myPubSub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>
<channels>
...
</channels>
</pub-sub-bean>
</http-pubsub>

7.17 event-store

event-store要素を使用すると、Oracle Event Processingサーバーのイベント・ストアを構成できます。この要素には、次の子要素があり、属性はありません。

表7-10 子要素: event-store

XMLタグ

型

説明

name

string

このdebug構成の名前。詳細は、「name」を参照してください。

provider-order

string

Oracle Event Processingサーバーがアクセスする順序で1つ以上のprovider子要素の名前を指定します。

詳細は、次を参照してください。

- rdbms-event-store-provider

次の例は、Oracle Event Processingサーバー構成ファイル内のevent-store要素の使用方法を示します。この例では、adapterの一意の識別子はmyEventStoreです。

<config>
<event-store>
<name>myEventStore</name>
<provider-order>
<provider>provider1</provider>
<provider>provider2</provider>
</provider-order>
</event-store>
</config>

7.18 exported-jndi-context

exported-jndi-context要素を使用すると、クライアント経由でRMIを使用してアクセスできるリモートJNDIサービスをエクスポートできます。これによってRMIサービスを使用するJNDIコンテキストが登録されるため、InitialContextオブジェクトの作成時にプロバイダURLパラメータを渡すクライアントによってリモートからアクセスできます。このサービスでは、jndi-context構成オブジェクトも指定される必要があります。指定されない場合、このサービスを開始できません。

この要素には、次の子要素があり、属性はありません。

表7-11 子要素: exported-jndi-context

XMLタグ

型

説明

name

string

このdebug構成の名前。詳細は、「name」を参照してください。

rmi-service-name

string

ネットワークでこのJNDIコンテキストを処理するために使用されるRMIサービスの名前。構成内の既存のRMIオブジェクトと一致する必要があります。詳細は、「rmi」を参照してください。

次の例は、Oracle Event Processingサーバー構成ファイル内のexported-jndi-context要素の使用方法を示します。この例では、adapterの一意の識別子はRemoteJNDIです。

<rmi>
<name>myRMI</name>
<http-service-name>TestJetty</http-service-name>
</rmi>

<exported-jndi-context>
<name>RemoteJNDI</name>
<rmi-service-name>myRMI</rmi-service-name>
</exported-jndi-context>

7.19 glassfish-ws

glassfish-ws要素を使用すると、Oracle Event ProcessingでWebサービスを構成できます。この要素にはhttp_service_name要素があり、属性はありません。

http_service_name要素を使用すると、Oracle Event ProcessingでWebサービスのエンド・ポイントを登録するために使用するHTTPサービスの名前を指定できます。このサービスは、同名のJettyインスタンスによって提供されます。

次の例は、Oracle Event Processingサーバー構成ファイル内のglassfish-ws要素の使用方法を示します。この例では、glassfish-ws要素の一意の識別子はmyWSです。

<glassfish-ws>
<name>myWS</name>
<http-service-name>TestJetty</http-service-name>
</glassfish-ws>

7.20 http-pubsub

http-pubsub要素を使用すると、HTTPパブリッシュ/サブスクライブ・サービスを構成できます。この要素には、次の子要素があり、属性はありません。

- name

- path

- pubsub-bean

次の例は、Oracle Event Processingサーバー構成ファイル内のhttp-pubsub要素の使用方法を示します。この例では、http-pubsub要素の一意の識別子はmyPubsubです。

<http-pubsub>
<name>myPubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>
true
</publish-without-connect-allowed>
</server-config>
<channels>
<element>
<channel-pattern>/evsmonitor</channel-pattern>
</element>
<element>
<channel-pattern>/evsalert</channel-pattern>
</element>
<element>
<channel-pattern>/evsdomainchange</channel-pattern>
</element>
</channels>
</pub-sub-bean>
</http-pubsub>

7.21 jetty

jetty要素を使用すると、Jetty HTTPサーバーのインスタンスを構成できます。この要素には、次の子要素があり、属性はありません。

表7-12 子要素: jetty

XMLタグ

型

説明

name

string

このjetty要素の名前。詳細は、「name」を参照してください。

network-io-name

string

使用されるネットワークI/Oサービス名。これは、サーバーがどのポートでリスニングするかも定義します。このパラメータは、有効な「netio」構成オブジェクトの名前を参照する必要があります。

work-manager-name

string

スレッドのプールに使用されるワーク・マネージャの名前。このパラメータが指定されない場合、Jettyはデフォルトのワーク・マネージャを使用します。詳細は、「work-manager」を参照してください。

scratch-directory

string

Webアプリケーション、JSP、およびその他のWebアーティファクトに必要な一時ファイルが保持されるディレクトリ名。このパラメータは、jetty-web-app要素上のscratch-directoryパラメータによってオーバーライドされます。このディレクトリが存在しない場合、作成されます。

debug-enabled

boolean

Jettyコードにおけるデバッグ処理を有効にします。指定されたデバッグ・メッセージは、ログ・サービスにおけるすべての他のDebugレベル・メッセージと同じ方法でログに記録されます。

listen-port

int

設定されるネットワーク・ポートの名前。このパラメータは、network-io-nameパラメータが指定されない場合には設定できません。このパラメータがnetwork-io-nameのかわりに使用されるとき、netioモジュールを必要としない指定されたソケットI/Oサブシステムが使用されます。

secure-network-io-name

string

セキュアな通信に使用されるネットワークI/Oサービス名。指定されたサービスは、SSL暗号化をサポートするために構成される必要があります。このパラメータは、有効なnetio構成オブジェクトの名前を参照する必要があります。

次の例は、Oracle Event Processingサーバー構成ファイル内のjetty要素の使用方法を示します。この例では、jetty要素の一意の識別子はTestJettyです。

<jetty>
<name>TestJetty</name>
<work-manager-name>WM</work-manager-name>
<network-io-name>Netio</network-io-name>
<secure-network-io-name>SecureNetio</secure-network-io-name>
<debug-enabled>false</debug-enabled>
<scratch-directory>JettyWork</scratch-directory>
</jetty>

7.22 jetty-web-app

jetty-web-app要素を使用すると、Jettyによって使用されるWebアプリケーションを表示できます。このオブジェクトの各インスタンスは、Jettyサービスを使用することによってデプロイされる必要があるWebアプリケーションを表します。

この要素には、次の子要素があり、属性はありません。

表7-13 子要素: jetty-web-app

XMLタグ

型

説明

name

string

このjetty-web-app要素の名前。詳細は、「name」を参照してください。

context-path

string

このWebアプリケーションがWebサーバーのネームスペースにデプロイされるコンテキスト・パス。

デフォルト:/

scratch-directory

string

JettyがこのWebアプリケーションの一時ファイルを保存する場所。このパラメータは、jetty要素上のscratch-directoryパラメータをオーバーライドします。このディレクトリが存在しない場合、作成されます。

path

string

サーバー上のWebアプリケーションの場所を指すファイル名。ディレクトリまたはWARファイルを指定できます。

jetty-name

string

このWebアプリケーションがデプロイされるJettyサービス名。この名前は、既存のjetty構成オブジェクトの名前に一致する必要があります。詳細は、「jetty」を参照してください。

次の例は、Oracle Event Processingサーバー構成ファイル内のjetty-web-app要素の使用方法を示します。この例では、jetty-web-app要素の一意の識別子はfinancialです。

<jetty-web-app>
<name>financial</name>
<context-path>/financial</context-path>
<path>../testws2/financialWS.war</path>
<jetty-name>TestJetty</jetty-name>
</jetty-web-app>

7.23 jmx

jmx要素を使用すると、Oracle Event ProcessingサーバーでJava Management Extension (JMX)のプロパティを構成できます。

表7-14 子要素: jmx

XMLタグ

型

説明

name

string

このdebug構成の名前。詳細は、「name」を参照してください。

rmi-service-name

string

ネットワークでこのJNDIコンテキストを処理するために使用されるRMIサービスの名前。構成内の既存のRMIオブジェクトと一致する必要があります。詳細は、「rmi」を参照してください。

jndi-service-name

string

JMXサーバーがそのオブジェクトをバインドする先のJNDIサービス名。

次の例は、Oracle Event Processingサーバー構成ファイル内のjmx要素の使用方法を示します。この例では、jmx要素の一意の識別子はmyJMXです。

<jmx>
<name>myJMX</name>
<jndi-service-name>JNDI</jndi-service-name>
<rmi-service-name>RMI</rmi-service-name>
</jmx>

7.24 jndi-context

jndi-context要素を使用すると、JNDIプロバイダを構成できます。構成内に配置されると、MSA JNDIコンテキストが初期化されます。JNDIサービスをローカルで使用する場合や、exported-jndi-context構成タイプを介してリモートで使用する場合は、この構成タイプの1つのインスタンスが構成内に配置されている必要があります。

この要素には、次の子要素があり、属性はありません。

表7-15 子要素: jndi-context

XMLタグ

型

説明

name

string

このdebug構成の名前。詳細は、「name」を参照してください。

default-provider

string

このパラメータのデフォルトは、trueです。falseに設定される場合、プロバイダはデフォルトとしてインストールされません。プロバイダは、DefaultProviderがtrueに設定されている構成で1つ以上のJNDIContextType Beanが存在するかぎり、デフォルトとして設定されます。構成内に複数のJNDIContextTypeオブジェクトが配置されている場合、その影響は1つのオブジェクトが起動された場合と同一になります。

次の例は、Oracle Event Processingサーバー構成ファイル内のjndi-context要素の使用方法を示します。この例では、adapterの一意の識別子はmyJNDIです。

<jndi-context>
<name>myJNDI</name>
<default-provider>true</default-provider>
</jndi-context>

7.25 log-file

log-file要素を使用すると、Oracle Event Processingサーバーでファイルへのロギングを構成できます。

表7-16 子要素: log-file

XMLタグ

型

説明

name

string

このwork-manager要素の名前。詳細は、「name」を参照してください。

number-of-files-limited

boolean

ローテーションされたファイルを永久に保存するかどうかを決定します。

デフォルト: false

rotation-type

string

ログ・ファイルのローテーション方法をサイズ・ベースまたは時間ベースで行うか、あるいはまったく行わないかを決定します。有効な値は次のとおりです。

- bySize

- byTime

- none

デフォルト: bySize。

rotation-time

string

最初のローテーションが発生したときの時間(k:mm形式)。ここで、kは24時間表記の時刻、mmは分を示します。

デフォルト: 00:00。

rotated-file-count

int

ローテーションされた古いファイルを削除する場合、このパラメータによって最新のファイルを常に保存する数が決定されます。

デフォルト: 7。

rotation-size

int

ログ・ファイルがローテーションされるときのサイズのしきい値(単位はKB)。

デフォルト: 500。

rotation-time-span-factor

long

時間ベースのログ・ローテーションの頻度となる一定のミリ秒に到達すると期間に適用される倍率。

デフォルト: (long)(3600 * 1000)。

rotation-time-span

int

各時間ベースのログ・ローテーションの間隔。

デフォルト: 24。

base-log-file-name

string

ログ・ファイル名。

デフォルト: server.log

rotate-log-on-startup-enabled

boolean

起動時にログ・ファイルをローテーションするかどうかを指定します。

デフォルト: true。

log-file-severity

string

ハンドラに伝播されるメッセージのしきい値の重要度を指定します。デフォルトはInfoで、重大度がDebugまたはTraceのいずれかに設定されていることを保証する必要があるDebugおよびTraceメッセージを確認できます。有効な値は次のとおりです。

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace

デフォルト: Notice。

log-file-rotation-dir

string

ローテーションされた古いファイルが保存されているディレクトリ。設定しない場合、古いファイルはベース・ログ・ファイルとして同一ディレクトリ内に保存されます。

次の例は、Oracle Event Processingサーバー構成ファイル内のlog-file要素の使用方法を示します。この例では、log-file要素の一意の識別子はlogFileです。

<log-file>
<name>logFile</name>
<number-of-files-limited>true</number-of-files-limited>
<rotated-file-count>4</rotated-file-count>
<rotate-log-on-startup-enabled>true</rotate-log-on-startup-enabled>
</log-file>

7.26 log-stdout

log-stdout要素を使用すると、Oracle Event Processingサーバーで標準出力(コンソール)へのロギングを構成できます。この要素には、次の子要素があり、属性はありません。

表7-17 子要素: log-stdout

XMLタグ

型

説明

name

string

このwork-manager要素の名前。詳細は、「name」を参照してください。

stack-trace-depth

int

標準出力に表示するスタック・トレース・フレーム数を決定します。すべてのフレームはログ・ファイルに表示されます。値を-1に設定すると、すべてのフレームが表示されます。

デフォルト: -1。

stack-trace-enabled

boolean

ログ記録されたメッセージに含まれるとき、スタック・トレースをコンソールにダンプするかどうかを指定します。

デフォルト: true。

stdout-severity

string

ハンドラに伝播されるメッセージのしきい値の重要度を定義します。デフォルトはInfoで、重大度がDebugまたはTraceのいずれかに設定されていることを保証する必要があるDebugおよびTraceメッセージを確認できます。有効な値は次のとおりです。

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace

デフォルト: Notice。

次の例は、Oracle Event Processingサーバー構成ファイル内のlog-stdout要素の使用方法を示します。この例では、log-stdout要素の一意の識別子はlogStdoutです。

<log-stdout>
<name>logStdout</name>
<stdout-severity>Debug</stdout-severity>
</log-stdout>

7.27 logging-service

logging-service要素を使用すると、Oracle Event Processingサーバーでロギング・サービスを構成できます。この要素には、次の子要素があり、属性はありません。

表7-18 子要素: logging-service

XMLタグ

型

説明

name

string

このwork-manager要素の名前。詳細は、「name」を参照してください。

log-file-config

string

ログ・ファイルとそのローテーション・ポリシーの構成。

stdout-config

string

stdout出力の構成。

logger-severity

string

ハンドラに伝播されるメッセージのしきい値の重要度を定義します。デフォルトはInfoで、重大度がDebugまたはTraceのいずれかに設定されていることを保証する必要があるDebugおよびTraceメッセージを確認できます。有効な値は次のとおりです。

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace

デフォルト: Info。

logger-severity-properties

説明を参照

ロガー・ツリーにおける異なるステージの重大度の値で、それぞれがkeyおよびvalue子要素を含む1つ以上のentry子要素から構成されます。

次の例は、Oracle Event Processingサーバー構成ファイル内のlogging-service要素の使用方法を示します。この例では、logging-service要素の一意の識別子はmyLogServiceです。

<logging-service>
<name>myLogService</name>
<stdout-config>myStdoutConfig</stdout-config>
<logger-severity>Notice</logger-severity>
<logger-severity-properties>
<entry>
<key>FileAdapter</key>
<value>Debug</value>
</entry>
<entry>
<key>CQLProcessor</key>
<value>Debug</value>
</entry>
</logger-severity-properties>
</logging-service>

7.28 message-filters

message-filters要素を使用すると、pubsub-bean要素の1つ以上のメッセージ・フィルタを構成できます。

この要素には、それぞれがmessage-filter-nameおよびmessage-filter-class子要素を持つ1つ以上のelement子要素があります。

この要素に属性はありません。

次の例は、Oracle Event Processingサーバー構成ファイル内のmessage-filters要素の使用方法を示します。

<http-pubsub>
<name>pubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
...
<message-fitlers>
<element>
<message-filter-name>Foo</message-filter-name>
<message-filter-class>Foo</message-filter-class>
</element>
<element>
<message-filter-name>Foo</message-filter-name>
<message-filter-class>Foo</message-filter-class>
</element>
</message-filters>
...
</pub-sub-bean>
</http-pubsub>

7.29 name

name要素を使用すると、Oracle Event Processingサーバー構成要素の一意の識別子を宣言できます。この要素には、子要素も属性もありません。

次の例は、Oracle Event Processingサーバー構成ファイル内のname要素の使用方法を示します。

<http-pubsub>
<name>pubsub</name>
<path>/pubsub</path>
...
</http-pubsub>

7.30 netio

netio要素を使用すると、ネットワーク入力/出力(IO)サービスを表示できます。このサービスは、ネットワークIO用サーバーとして機能するために他のサービスが使用できます。この要素には、次の子要素があり、属性はありません。

表7-19 子要素: netio

XMLタグ

型

説明

name

string

このnetio要素の名前。詳細は、「name」を参照してください。

ssl-config-bean-name

string

使用するSSL構成オブジェクト名。nullではない場合、このクライアントは指定したSSL構成を使用してセキュア・ソケットを作成します。設定しない場合、SSLはサポートされません。

provider-type

string

基礎となるソケット実装にどのプロバイダを使用するかを指定します。

io-threads

int

ソケットの処理に使用するスレッド数に関するプロバイダへのヒント。値を0に指定すると、プロバイダはデフォルト設定に基づいて選択を行うようになります。デフォルト: 0。

port

int

リスニングする元となるポート。サーバーはこのポート上で受信接続へのリスニングをただちに開始します。

listen-address

string

受信接続へのリスニングを行う元となるNetioのインスタンスのアドレス。a.b.c.d形式で数値のIPアドレスに設定されるか、またはホスト名に設定されます。設定しない場合、netioはすべてのネットワーク・インタフェース上でリスニングします。このパラメータの値は、サーバーが実際に起動するまで検証できないので注意してください。

次の例は、Oracle Event Processingサーバー構成ファイル内のnetio要素の使用方法を示します。この例では、netio要素の一意の識別子はmyNetioです。

<netio>
<name>myNetio</name>
<port>12345</port>
</netio>

7.31 netio-client

netio-client要素を使用すると、非ブロック・ネットワークIOを実行するために使用されるネットワーク入力/出力(IO)サービスを登録できます。ただし、このサービスはサーバーとして機能せず、受信接続をリスニングしません。この要素には、次の子要素があり、属性はありません。

表7-20 子要素: netio-client

XMLタグ

型

説明

name

string

このnetio要素の名前。詳細は、「name」を参照してください。

ssl-config-bean-name

string

使用するSSL構成オブジェクト名。nullではない場合、このクライアントは指定したSSL構成を使用してセキュア・ソケットを作成します。設定しない場合、SSLはサポートされません。

provider-type

string

基礎となるソケット実装にどのプロバイダを使用するかを指定します。

次の例は、Oracle Event Processingサーバー構成ファイル内のnetio-client要素の使用方法を示します。この例では、netio-client要素の一意の識別子はnetiosslです。

<netio-client>
<name>netiossl</name>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
<provider-type>NIO</provider-type>
</netio-client>

7.32 partition-order-capacity

partition-order-capacity要素を使用すると、ordering-constraint属性がPARTITION_ORDEREDに設定されている場合に問合せパーティションの最大容量を定義できます。この要素は、cqlコンポーネントに設定します。パラレル実行用の問合せプロセッサが構成されていて、問合せのordering-constraint属性がPARTITION_ORDEREDに設定されている場合に、この要素の値を設定することを検討してください。デフォルト値は4です。

この要素には、子要素も属性もありません。

次の例は、Oracle Event Processingサーバー構成ファイル内のpartition-order-capacity要素の使用方法を示します。

<cql>
<name>myCQL</name>
<partition-order-capacity>20</partition-order-capacity>
</cql>

7.33 path

path要素を使用すると、http-pubsub要素のパスを構成できます。この要素には、子要素も属性もありません。

次の例は、Oracle Event Processingサーバー構成ファイル内のpath要素の使用方法を示します。

<http-pubsub>
<name>myPubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>
true
</publish-without-connect-allowed>
</server-config>
<channels>
<element>
<channel-pattern>/evsmonitor</channel-pattern>
</element>
<element>
<channel-pattern>/evsalert</channel-pattern>
</element>
<element>
<channel-pattern>/evsdomainchange</channel-pattern>
</element>
</channels>
</pub-sub-bean>
</http-pubsub>

7.34 pubsub-bean

pubsub-bean要素を使用すると、http-pubsub要素のpublish-subscribe Beanを構成できます。この要素には、次の子要素があり、属性はありません。

- name

- server-config

- message-filters

- channels

- channel-constraints

- services

http://www.oracle.com/webfolder/technetwork/weblogic/weblogic-pubsub/1.0/weblogic-pubsub.xsdを参照してください。

次の例は、Oracle Event Processingサーバー構成ファイル内のpubsub-bean要素の使用方法を示します。

<http-pubsub>
<name>myPubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>
true
</publish-without-connect-allowed>
</server-config>
<channels>
<element>
<channel-pattern>/evsmonitor</channel-pattern>
</element>
<element>
<channel-pattern>/evsalert</channel-pattern>
</element>
<element>
<channel-pattern>/evsdomainchange</channel-pattern>
</element>
</channels>
</pub-sub-bean>
</http-pubsub>

7.35 rdbms-event-store-provider

rdbms-event-store-provider要素を使用すると、Oracle Event Processingサーバーでリレーショナル・データベース管理システムを使用するイベント・ストア・プロバイダを構成できます。デフォルトでは、Oracle Event Processingは、Berkeleyデータベース・インスタンスをイベント・ストア・プロバイダとして使用します(bdb-configを参照してください)。

この要素には、次の子要素があり、属性はありません。

表7-21 子要素: rdbms-event-store-provider

XMLタグ

型

説明

name

string

このdebug構成の名前。詳細は、「name」を参照してください。

init-timeout

int

このプロバイダが初期化するのをOracle Event Processingサーバーが待機する最大時間(ミリ秒)。

デフォルト: 10000ミリ秒。

data-source-name

string

データ・ソース要素の名前。詳細は、「data-source」を参照してください。

user-policy-attributes

説明を参照

追加のデータ・ソース・プロパティの指定に使用するkeyおよびvalue子要素をそれぞれが含む1つ以上のentry子要素。

次の例は、Oracle Event Processingサーバー構成ファイル内のrdbms-event-store-provider要素の使用方法を示します。

<rdbms-event-store-provider>
<name>test-rdbms-provider</name>
<init-timeout>10000</init-timeout>
<data-source-name>derby1</data-source-name>
<user-policy-attributes>
<entry>
<key>key1</key>
<value>value1</value>
</entry>
<key>key1</key>
<value>value1</value>
<entry>
</entry>
</user-policy-attributes>
</rdbms-event-store-provider>

7.36 rmi

rmi要素を使用すると、RMIサービスを構成できます。このサービスによって、サーバー側のオブジェクトをリモート・クライアントにエクスポートできます。この要素には、次の子要素があり、属性はありません。

表7-22 子要素: rmi

XMLタグ

型

説明

name

string

このrmi要素の名前。詳細は、「name」を参照してください。

heartbeat-period

int

切断通知をすべての登録済リスナーにトリガーする前に失敗したハートビートの試行回数。デフォルト値: 4。

http-service-name

string

HTTPサービス名で、このサービスがリモート・オブジェクトの登録に使用します。このサービスは、同名のJettyまたはTomcatのインスタンスによって提供されます。

heartbeat-interval

int

ハートビート間の時間(ミリ秒)。失敗したハートビートの試行回数がHeartbeatPeriod属性によって指定された値に到達したら、すべての登録済DisconnectListenerのインスタンスが通知されます。

デフォルト値: 5000。

次の例は、Oracle Event Processingサーバー構成ファイル内のrmi要素の使用方法を示します。この例では、rmi要素の一意の識別子はmyRMIです。

<rmi>
<name>myRMI</name>
<http-service-name>TestJetty</http-service-name>
</rmi>

7.37 scheduler

scheduler要素を使用すると、Oracle Event Processingサーバーでcqlスケジューラ・オプションを構成できます。この要素には、次の子要素があり、属性はありません。

表7-23 子要素: scheduler

XMLタグ

型

説明

time-slice

int

Oracle CQLスケジューラがOracle CQL問合せを実行する頻度。

デフォルト: 1000ミリ秒

schedule-on-new-thread

boolean

Oracle Event Processingサービス・エンジンのスケジューラが個別のスレッドを使用するかどうか。オプションは次のとおりです。

- true: スケジューラは個別のスレッドで実行されます。

- false: スケジューラは、Oracle Event Processingサービス・エンジンと同じスレッドで実行されます(デフォルト)。

次の例は、Oracle Event Processingサーバー構成ファイル内のscheduler要素の使用方法を示します。

<cql>
<name>myCQL</name>
<calendar>
<date-format>myclass</date-format>
<timezone>10</timezone>
</calendar>
<scheduler>
<class-name>oracle.cep.execution.scheduler.FIFOScheduler</class-name>
<threads>10</threads>
<direct-interop>false</direct-interop>
</scheduler>
</cql>

7.38 server-config

server-config要素を使用すると、pubsub-bean要素のサーバー専用プロパティを構成できます。この要素には、次の子要素があり、属性はありません。

表7-24 子要素: server-config

XMLタグ

型

説明

name

string

このserver-config要素の名前。詳細は、「name」を参照してください。

supported-transport

説明を参照

この要素には、1つ以上のtypes子要素が含まれます。子要素は各サポート対象トランスポートです。各types子要素には、stringの値としてトランスポート名を持つelement子要素が含まれます。有効な値は次のとおりです。

- long-polling: このトランスポートを使用して、クライアントはOracle Event Processingサーバーからの情報をリクエストします。使用可能な情報がない場合は、Oracle Event Processingサーバーは応答しません。Oracle Event Processingサーバーが応答すると、クライアントは通常、別のリクエストをただちに送信します。

- callback-polling: このトランスポートは、クロス・ドメイン構成を使用するHTTPパブリッシュ/サブスクライブ・アプリケーションに使用します。この構成では、ブラウザが1つのWebサーバー(JavaScriptコードを含む)からページをダウンロードし、HTTPパブリッシュ/サブスクライブ・クライアントとして別のサーバーに接続します。これは、Bayeuxプロトコルに必要です。Bayeuxプロトコルの詳細は、http://svn.cometd.org/trunk/bayeux/bayeux.htmlを参照してください。

client-timeout-secs

int

クライアントが接続/再接続のメッセージを送信しなかった場合に、HTTPパブリッシュ/サブスクライブ・サーバーがクライアントとの接続を切断してからの秒数を指定します。

デフォルト: 60。

persistent-client-timeout-secs

int

永続クライアントが接続または再接続メッセージを送信しない間に、永続クライアントが切断されてパブリッシュ/サブスクライブ・サーバーによって削除されてからの秒数を指定します。この値は、client-timeout-secsよりも大きくする必要があります。永続クライアントは、この永続タイムアウト値に達する前に再接続した場合はその期間内に永続チャネルにパブリッシュされたすべてのメッセージを受信できますが、このタイムアウト値より後に再接続した場合はそれらのメッセージを受信できません。

デフォルト: 600秒。

interval-millisecs

int

クライアントが/meta/connectチャネルへの後続リクエストを遅延できる期間(ミリ秒)を指定します。

デフォルト: 500ミリ秒。

work-manager

string

メッセージをクライアントに配信するワーク・マネージャの名前を指定します。この要素の値は、割り当てるwork-managerのname子要素の値に対応します。

詳細は、「work-manager」を参照してください。

publish-without-connect-allowed

boolean

HTTPパブリッシュ/サブスクライブ・サーバーに明示的に接続せずに、クライアントがメッセージをパブリッシュできるかどうかを指定します。有効な値は次のとおりです。

- true

- false

次の例は、Oracle Event Processingサーバー構成ファイル内のserver-config要素の使用方法を示します。

<http-pubsub>
<name>pubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<name>/pubsub</name>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>
<channels>
<element>
<channel-pattern>/evsmonitor</channel-pattern>
</element>
<element>
<channel-pattern>/evsalert</channel-pattern>
</element>
<element>
<channel-pattern>/evsdomainchange</channel-pattern>
</element>
</channels>
</pub-sub-bean>
</http-pubsub>

7.39 services

services要素を使用すると、pubsub-bean要素のサービス・プロパティを構成できます。この要素には、次の子要素があり、属性はありません。

表7-25 子要素: services

XMLタグ

型

説明

service-channel

string

サービス・チャネルを指定します。例: /service/echo。

service-class

string

このサービスを使用するクラスを指定します。例: EchoService。

service-method

string

サービス・クラスにおけるサービス・メソッドを定義します。このサービス・メソッドは、タイプObjectの唯一のペイロード・パラメータを持つ必要があります。例: Object echo(Object payload)。

次の例は、Oracle Event Processingサーバー構成ファイル内のservices要素の使用方法を示します。

<http-pubsub>
<name>pubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<name>/pubsub</name>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>
<channels>
<element>
<channel-pattern>/evsmonitor</channel-pattern>
</element>
<element>
<channel-pattern>/evsalert</channel-pattern>
</element>
<element>
<channel-pattern>/evsdomainchange</channel-pattern>
</element>
</channels>
<services>
<element>
<service-channel>Foo</service-channel>
<service-class>Foo</service-class>
<service-method>Foo</service-method>
</element>
</services>
</pub-sub-bean>
</http-pubsub>

7.40 show-detail-error-message

show-detail-error-message要素を使用すると、Oracle Event Processingサーバーがセキュア接続を使用するかどうかを構成できます。この要素には、次の子要素があり、属性はありません。

表7-26 子要素: show-detail-error-message

XMLタグ

型

説明

name

string

このshow-detail-error-message要素の名前。詳細は、「name」を参照してください。

value

boolean

詳細エラー・メッセージを表示するかどうか。有効な値は次のとおりです。

- true: Oracle Event Processingサーバーにより、詳細なエラー・メッセージが表示されます。

- false: Oracle Event Processingサーバーにより、省略されたエラー・メッセージが表示されます(デフォルト)。

次の例は、Oracle Event Processingサーバー構成ファイル内のshow-detail-error-message要素の使用方法を示します。この例では、show-detail-error-message要素の一意の識別子はmyShowDetailです。

<show-detail-error-message>
<name>myShowDetail</name>
<value>true</value>
</show-detail-error-message>

7.41 ssl

ssl要素を使用すると、Oracle Event ProcessingサーバーでSecure Sockets Layer固有のプロパティを構成できます。この要素には、次の子要素があり、属性はありません。

表7-27 子要素: ssl

XMLタグ

型

説明

name

string

このクラスタの名前。詳細は、「name」を参照してください。

key-store

string

./ssl/evsidentity.jksなどのキーストアへのファイル・パスを指定します。

key-store-pass

説明を参照

この要素には、キーストアへのアクセスに使用されるパスワードを指定するstringの値を持つpassword子要素が含まれます。

key-store-alias

string

キーストアの別名を指定します。

key-manager-algorithm

string

SunX509などのキー・マネージャ・アルゴリズムを指定します。

ssl-protocol

string

TLSなどのSSLプロトコルを指定します。

trust-store

string

./ssl/evstrust.jksなどのトラスト・ストアへのファイル・パスを指定します。

trust-store-pass

説明を参照

この要素には、トラスト・ストアへのアクセスに使用されるパスワードを指定するstringの値を持つpassword子要素が含まれます。

trust-store-alias

string

トラスト・ストアの別名を指定します。

trust-store-type

string

JKSなどのトラスト・ストア・タイプを指定します。

trust-manager-algorithm

string

SunX509などのトラスト・マネージャ・アルゴリズムを指定します。

enforce-fips

boolean

Oracle Event ProcessingサーバーがFederal Information Processing Standards (FIPS)認証済の擬似乱数ジェネレータを使用するかどうかを指定します。

need-client-auth

boolean

クライアント証明書認可が必要かどうかを指定します。

ciphers

説明を参照

この要素には1つ以上のcipher子要素が含まれ、それぞれはciphersが必要であると指定するstringの値を持ちます。

secure-random-algorithm

string

enforce-fipsがtrueに設定されるとき、使用するセキュア・ランダム・アルゴリズムを指定します。有効な値は次のとおりです。

- FIPS186PRNG

secure-random-provider

string

enforce-fipsがtrueに設定されるとき、使用するセキュア・ランダム・プロバイダを指定します。有効な値は次のとおりです。

- JsafeJCE

次の例は、Oracle Event Processingサーバー構成ファイル内のssl要素の使用方法を示します。

この例では、ssl要素の一意の識別子はsslConfigです。

<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
<key-store-pass>
<password>{Salted-3DES}s4YUEvH4Wl2DAjb45iJnrw==</password>
</key-store-pass>
<key-store-alias>evsidentity</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<ssl-protocol>TLS</ssl-protocol>
<enforce-fips>false</enforce-fips>
<need-client-auth>false</need-client-auth>
</ssl>

7.42 timeout-seconds

timeout-seconds要素を使用すると、Oracle Event Processingサーバーでweblogic-jta-gatewayのデフォルト・トランザクション・タイムアウトを秒単位で構成できます。デフォルト値は60です。この要素には、子要素も属性もありません。

次の例は、Oracle Event Processingサーバー構成ファイル内のtimeout-seconds要素の使用方法を示します。

<weblogic-jta-gateway>
<name>myJTAGateway</name>
<timeout-seconds>90</timeout-seconds>
<weblogic-instances>
<weblogic-instance>
<domain-name>ocep_domain</domain-name>
<server-name>fxserver</server-name>
<protocol>t3</protocol>
<host-address>ariel</host-address>
<port>9002</port>
</weblogic-instance>
</weblogic-instances>
</weblogic-jta-gateway>

7.43 transaction-manager

transaction-manager要素を使用すると、Oracle Event Processingサーバーでトランザクション・マネージャ・プロパティを構成できます。この要素には、次の子要素があり、属性はありません。

表7-28 子要素: transaction-manager

XMLタグ

型

説明

name

string

このtransaction-manager要素の名前。詳細は、「name」を参照してください。

max-resource-requests-on-server

int

各サーバーで許可されるリソースへの同時実行性リクエストの最大数。

デフォルト: 50。

max-resource-unavailable-millis

long

リソースが失効を宣言される最大期間(ミリ秒)。この期間後、リソース・プロバイダが明示的にリソースを再登録する場合でも、リソースはもう一度使用可能を宣言されます。デフォルト: 1800000。

security-interop-mode

string

グローバル・トランザクションに参加するサーバー間のXAコールに使用される通信チャネルのセキュリティ・モードを指定します。ドメイン内のすべてのサーバー・インスタンスは、同一のセキュリティ・モード設定にする必要があります。有効な値は次のとおりです。

- default: トランザクション・コーディネータは、有効化されている場合、管理チャネルからカーネル・アイデンティティを使用してコールします。それ以外は無名を使用してコールします。管理チャネルが有効化されていない場合、man-in-the-middle攻撃が可能です。

- Performance: トランザクション・コーディネータは、常に無名を使用してコールします。この設定では、悪意のあるサード・パーティが中間者攻撃を通じてトランザクションの結果に影響を与える可能性があるため、セキュリティ上、リスクを伴います。

- Compatibility: トランザクション・コーディネータは、セキュアでないチャネルからカーネル・アイデンティティとしてコールします。中間者攻撃が成功すると、攻撃者は双方のドメインに対する管理制御権を得ることができるため、セキュリティ上のリスクが高くなります。この設定は、強固なネットワーク・セキュリティが設置されているときにのみ使用します。

デフォルト: default。

parallel-xa-enabled

boolean

使用可能なスレッドが存在する場合に、XAコールを並列で実行します。

デフォルト: true。

tlog-location

string

トランザクション・ログを含むファイル・ストアの場所。この属性は、ファイルシステム内の絶対パスまたは相対パスのいずれかにすることができます。

max-xa-call-millis

long

リソースへのXAコールが許可される最大存続期間。リソースへの特定のXAコールが限度を超える場合、リソースは使用不可能を宣言されます。

デフォルト: 120000。

timeout-seconds

int

デフォルトのトランザクション・タイムアウト(秒単位)。

デフォルト: 30。

checkpoint-interval-seconds

int

トランザクション・マネージャがトランザクション・ログ・チェックポイント操作を実行する間隔。

デフォルト: 300。

forget-heuristics

boolean

トランザクション・マネージャが自動的にヒューリスティック・トランザクション完了のXAResource放棄操作を実行するかどうかを指定します。有効化すると、トランザクション・マネージャは、トランザクションがヒューリスティックな結果を認識するとすべてのリソースのXA Resource forget操作を自動的に実行します。リソースがヒューリスティックな決定をレポートするときに、リソースを使用した操作を把握している場合にのみ、この機能を無効にします。

デフォルト: true。

before-completion-iteration-limit

int

トランザクション・マネージャが、完了前の同期コールバック処理を実行するサイクルの最大数。

デフォルト: 10。

abandon-timeout-seconds

int

2フェーズ・コミット(準備およびその後)の第2フェーズにおけるトランザクションのトランザクション中止タイムアウト秒数。2フェーズ・コミット処理の第2フェーズ中に、すべてのリソース・マネージャがトランザクションの完了を示すまで、トランザクション・マネージャがトランザクションを完了させようとします。このタイムアウトを使用することによって、トランザクションの第2フェーズ中にトランザクションを完了させようとする試行をトランザクション・マネージャが永続する最大時間を設定できます。中止トランザクション・タイマーの期限が切れた後、トランザクションを解決するための試行は行われなくなります。中止される前にトランザクションが準備状態にある場合は、トランザクション・マネージャがトランザクションをロールバックし、中止されたトランザクションのかわりに保持されたロックを解放します。

デフォルト: 86400。

serialize-enlistments-gc-interval-millis

long

リソースの登録のシリアライズに使用される内部オブジェクトがクリーンアップされる間隔。

デフォルト: 30000。

unregister-resource-grace-period

int

トランザクション・マネージャがリソースの登録解除前に完了するリソースを含むトランザクションを待機する猶予期間(秒数)。猶予期間は、アプリケーションにパッケージ化されたJDBCデータ・ソース・モジュールなどの、登録解除されたリソースのために中止されたトランザクションのリスクを最小化するのに役立ちます。指定された猶予期間中、コールが戻されるまでunregisterResourceコールがブロックされ、関連するリソースに対して新しいトランザクションは開始されません。リソースに対して未処理のトランザクションの数が0になると、unregisterResource呼出しは即座に返ります。猶予期間の終わりに、まだリソースに関連する未処理のトランザクションがある場合は、unregisterResourceが返り、リソースが以前登録されていたサーバー上にログ・メッセージが書き込まれます。

デフォルト: 30。

rmi-service-name

string

分散型トランザクション調整に使用されるRMIサービス名。

詳細は、「rmi」を参照してください。

max-unique-name-statistics

int

統計情報が保持される一意のトランザクション名の最大数。

デフォルト: 1000。

purge-resource-from-checkpoint-interval-seconds

int

チェックポイント・レコードに含まれるように、特定のリソースがアクセスされる必要がある間隔。

デフォルト: 86400。

max-transactions

int

このサーバー上で許可される同時進行中のトランザクションの最大数。

デフォルト: 10000。

migration-checkpoint-interval-seconds

int

移行されたトランザクション・ログ(TLOG)にチェックポイントが実行される間隔。

デフォルト: 60。

recovery-threshold-millis

long

リソースが使用可能になるまでリカバリが試行される間隔。

デフォルト: 300000。

max-transactions-health-interval-millis

long

JTAサブシステムがCRITICALの状態を宣言するために、トランザクション・マップがフルになる必要がある間隔。

デフォルト: 60000。

parallel-xa-dispatch-policy

string

XA操作を並列に実行するときに使用するディスパッチ・ポリシー。デフォルトでは、トランザクションを調整するスレッドのポリシーが使用されます。

次の例は、Oracle Event Processingサーバー構成ファイル内のtransaction-manager要素の使用方法を示します。この例では、transaction-manager要素の一意の識別子はMy_tmです。

<transaction-manager>
<name>My_tm</name>
<timeout-seconds>30</timeout-seconds>
<abandon-timeout-seconds>86400</abandon-timeout-seconds>
<forget-heuristics>true</forget-heuristics>
<before-completion-iteration-limit>12</before-completion-iteration-limit>
<max-transactions>10100</max-transactions>
<max-unique-name-statistics>500</max-unique-name-statistics>
<max-resource-requests-on-server>50</max-resource-requests-on-server>
<max-resource-unavailable-millis>1800000</max-resource-unavailable-millis>
<recovery-threshold-millis>300000</recovery-threshold-millis>
<max-transactions-health-interval-millis>
60000
</max-transactions-health-interval-millis>
<purge-resource-from-checkpoint-interval-seconds>
86400
</purge-resource-from-checkpoint-interval-seconds>
<checkpoint-interval-seconds>300</checkpoint-interval-seconds>
<parallel-xa-enabled>true</parallel-xa-enabled>
<unregister-resource-grace-period>30</unregister-resource-grace-period>
<security-interop-mode>default</security-interop-mode>
<rmi-service-name>RMI_ce1</rmi-service-name>
</transaction-manager>

7.44 use-secure-connections

use-secure-conditions要素を使用すると、Oracle Event Processingサーバーがセキュア接続を使用するかどうかを構成できます。この要素には、次の子要素があり、属性はありません。

表7-29 子要素: use-secure-connections

XMLタグ

型

説明

name

string

このuse-secure-connections要素の名前。詳細は、「name」を参照してください。

value

boolean

セキュア接続を使用するかどうか。有効な値は次のとおりです。

- true: Oracle Event Processingサーバーがセキュア接続のみを使用します。

- false: Oracle Event Processingサーバーがセキュアでない接続を承諾します。

次の例は、Oracle Event Processingサーバー構成ファイル内のuse-secure-connections要素の使用方法を示します。

<use-secure-connections>
<name>myUseSecConn</name>
<value>true</value>
</use-secure-connections>

7.45 user-event-store-provider

7.46 weblogic-instances

weblogic-instances要素を使用すると、weblogic-jta-gateway要素のOracle Event Processingサーバー・インスタンスを構成できます。この要素には、次の子要素があり、属性はありません。

表7-30 子要素: weblogic-instances

XMLタグ

型

説明

domain-name

string

Oracle Event Processingサーバーのドメイン名を指定します。

server-name

string

Oracle Event Processingサーバーの名前を指定します。

protocol

string

JTAプロトコルを指定します。

デフォルト: t3。

host-address

string

Oracle Event Processingサーバーのホスト名またはIPアドレス。

port

int

Oracle Event Processingサーバーのnetioポート。

次の例は、Oracle Event Processingサーバー構成ファイル内のweblogic-instances要素の使用方法を示します。

<weblogic-jta-gateway>
<name>myJTAGateway</name>
<timeout-seconds>90</timeout-seconds>
<weblogic-instances>
<weblogic-instance>
<domain-name>ocep_domain</domain-name>
<server-name>fxserver</server-name>
<protocol>t3</protocol>
<host-address>ariel</host-address>
<port>9002</port>
</weblogic-instance>
</weblogic-instances>
</weblogic-jta-gateway>

7.47 weblogic-jta-gateway

weblogic-jta-gateway要素を使用すると、シングルトンOracle Event Processingサーバー・クライアントのJTAゲートウェイ・サービスの属性を構成できます。この要素には、次の子要素があり、属性はありません。

- name

- timeout-seconds

- weblogic-instances

次の例は、Oracle Event Processingサーバー構成ファイル内のweblogic-jta-gateway要素の使用方法を示します。この例では、weblogic-jta-gateway要素の一意の識別子は、myJTAGatewayです。

<weblogic-jta-gateway>
<name>myJTAGateway</name>
<timeout-seconds>90</timeout-seconds>
<weblogic-instances>
<weblogic-instance>
<domain-name>ocep_domain</domain-name>
<server-name>fxserver</server-name>
<protocol>t3</protocol>
<host-address>ariel</host-address>
<port>9002</port>
</weblogic-instance>
</weblogic-instances>
</weblogic-jta-gateway>

7.48 weblogic-rmi-client

weblogic-rmi-client要素を使用すると、シングルトンOracle Event ProcessingサーバーのRMIクライアントの属性を構成できます。この要素には、次の子要素があり、属性はありません。

表7-31 子要素: weblogic-rmi-client

XMLタグ

型

説明

name

string

このweblogic-rmi-client要素の名前。詳細は、「name」を参照してください。

netio-name

string

使用するnetio-client要素の名前を指定します。詳細は、「netio-client」を参照してください。

secure-netio-name

string

SSLに構成されるnetio-client要素の名前を指定します。詳細は、「netio-client」を参照してください。

次の例は、Oracle Event Processingサーバー構成ファイル内のweblogic-rmi-client要素の使用方法を示します。この例では、 weblogic-rmi-client要素の一意の識別子はwlclientです。

<netio-client>
<name>netio</name>
<provider-type>NIO</provider-type>
</netio-client>

<netio-client>
<name>netiossl</name>
<provider-type>NIO</provider-type>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
</netio-client>

<weblogic-rmi-client>
<name>wlclient</name>
<netio-name>netio</netio-name>
<secure-netio-name>netiossl</secure-netio-name>
</weblogic-rmi-client>

7.49 work-manager

work-manager要素を使用すると、Oracle Event Processingサーバーでワーク・マネージャを構成できます。

表7-32 子要素: work-manager

XMLタグ

型

説明

name

string

このwork-manager要素の名前。詳細は、「name」を参照してください。

min-threads-constraint

int

このワーク・マネージャが使用する最小スレッド制約。

デフォルト: -1。

fairshare

int

このワーク・マネージャが使用するフェア・シェア値。

デフォルト: -1。

max-threads-constraint

int

このワーク・マネージャが使用する最大スレッド制約。

デフォルト: -1。

次の例は、Oracle Event Processingサーバー構成ファイル内のwork-manager要素の使用方法を示します。この例では、work-manager要素の一意の識別子はWMです。

<work-manager>
<name>WM</name>
<fairshare>5</fairshare>
<min-threads-constraint>1</min-threads-constraint>
<max-threads-constraint>4</max-threads-constraint>
</work-manager>

7.50 xa-params

xa-params要素を使用すると、分散型トランザクション関連のdata-sourceパラメータを指定できます。この要素には、次の子要素があり、属性はありません。

表7-33 子要素: xa-params

XMLタグ

型

説明

keep-xa-conn-till-tx-complete

boolean

トランザクションが完了するまで、接続プールからグローバル・トランザクションへの同一のXAデータベース接続にサーバーが関連できるようにします。XAドライバを使用する接続プールにのみ適用されます。この設定を使用すると、JDBC XAドライバに関する特定の問題に対処できます。

デフォルト: true。

xa-transaction-timeout

int

トランザクション・ブランチのタイムアウトとして設定する秒数。設定すると、この値がXAリソース・マネージャ(通常はJDBCドライバ)上のXAResource.setTransactionTimeoutコールのトランザクション・タイムアウト値として渡されます。この値が0に設定されると、トランザクション・マネージャは、メソッド内でグローバル・サーバーのトランザクション・タイムアウトを秒単位で渡します。設定する場合、この値はグローバル・サーバーのトランザクション・タイムアウト以上にする必要があります。注意: トランザクション・ブランチのタイムアウトを設定できるようにxa-set-transaction-timeoutを有効化する必要があります。

デフォルト: 0。

rollback-local-tx-upon-conn-close

boolean

サーバーが、接続プールに接続を戻す前に接続上でrollbackをコールできるようにします。この属性を有効にすると、ロールバック・コールがデータベース・サーバーとの通信を要求するときのパフォーマンスに影響があります。

デフォルト: false

xa-retry-duration-seconds

int

トランザクション・マネージャがリソース上で復元操作を実行する際の持続時間を秒単位で決定します。値をゼロに指定すると、再試行は実行されません。

デフォルト: 60。

xa-set-transaction-timeout

boolean

サーバーが、xa-transaction-timeoutの値に基づいてトランザクション・ブランチのタイムアウトを設定できるようにします。有効化すると、トランザクション・マネージャはXAResource.startを呼び出す前に、XAResource.setTransactionTimeoutを呼び出して、XAトランザクション・タイムアウト値またはグローバル・トランザクション・タイムアウトのいずれかを渡します。XAリソース上でデフォルトのタイムアウト値を超える長期間実行中のトランザクションがある場合、トランザクション・ブランチのタイムアウトを設定できます。

デフォルト: false

keep-logical-conn-open-on-release

boolean

物理XA接続が接続プールに戻されるときに、サーバーが、グローバル・トランザクションに対して論理JDBC接続を開いたまま保持できるようにします。データベース接続の作成に使用されるXAドライバまたはDBMSが、トランザクション処理の継続中に(物理XA接続は接続プールに戻されても)論理JDBC接続を開いたまま保持できるように求める場合、このオプションを選択します。XAドライバを使用するデータ・ソースにのみ適用されます。この設定を使用すると、JDBC XAドライバに関する特定の問題に対処できます。

デフォルト: false

resource-health-monitoring

boolean

JTAリソースのXAデータ・ソースに対するヘルス・モニタリングを有効化します。有効化すると、XAリソースがMaxXACallMillisで指定された期間中にXAコールに応答できない場合に、サーバーがデータ・リソースを正常でないとマークし、リソースに対する以降のコールをブロックします。このプロパティはXAデータ・リソースのみに適用され、XAドライバ以外を使用するデータ・リソースは無視されます。

デフォルト: true。

new-xa-conn-for-commit

boolean

専用のXA接続がグローバル・トランザクションのコミットおよびロールバック処理に使用されることを指定します。XAドライバを使用するデータ・ソースにのみ適用されます。この設定を使用すると、JDBC XAドライバに関する特定の問題に対処できます。

デフォルト: false

xa-end-only-once

boolean

保留中の各XAResource.startに対してXAResource.endを1回のみコールされることを指定します。このオプションによって、XAドライバはXAResource.end(TMSUSPEND)およびXAResource.end(TMSUCCESS)を連続してコールできなくなります。XAドライバを使用するデータ・ソースにのみ適用されます。この設定を使用すると、JDBC XAドライバに関する特定の問題に対処できます。

デフォルト: false

xa-retry-interval-seconds

int

XARetryDurationSecondsが正の値に指定される場合のXA再試行操作間の秒数。

デフォルト: 60。

recover-only-once

boolean

トランザクション・マネージャがリソース上で1回のみ復元をコールすることを指定します。XAドライバを使用するデータ・ソースにのみ適用されます。この設定を使用すると、JDBC XAドライバに関する特定の問題に対処できます。

デフォルト: false

need-tx-ctx-on-close

boolean

各種JDBCオブジェクト(結果セット、文、接続など)を終了するときにXAドライバが分散型トランザクション・コンテキストを要求するかどうかを指定します。XAドライバを使用する接続プールにのみ適用されます。有効化すると、トランザクション・コンテキストを持たないJDBCオブジェクトを終了中にスローされるSQLの例外が抑止されます。この設定を使用すると、JDBC XAドライバに関する特定の問題に対処できます。

デフォルト: false

次の例は、Oracle Event Processingサーバー構成ファイル内のxa-params要素の使用方法を示します。

<data-source>
<name>orads</name>
<xa-params>
<keep-xa-conn-till-tx-complete>true</keep-xa-conn-till-tx-complete>
</xa-params>
<driver-params>
<url>jdbc:oracle:thin:@localhost:1521:ce102</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<element>
<name>user</name>
<value>wlevs</value>
</element>
<element>
<name>password</name>
<value>wlevs</value>
</element>
</properties>
</driver-params>
<connection-pool-params>
<initial-capacity>5</initial-capacity>
<max-capacity>10</max-capacity>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<test-frequency-seconds>5</test-frequency-seconds>
</connection-pool-params>
<data-source-params>
<jndi-names>
<element>orads</element>
</jndi-names>
<global-transactions-protocol>None</global-transactions-protocol>
</data-source-params>
</data-source>

8 高可用性スキーマ

この章では、ocep_cluster_config.xsdスキーマへのリファレンスを示します。ocep_cluster_config.xsdファイルは、高可用性クラスタリング構成の要素および属性について説明しています。

すべての高可用性アダプタは、基本アダプタ構成に基づいており、アダプタのタイプ固有の要素を追加します。基本的なアダプタ要素の詳細は、「コンポーネント要素の階層」を参照してください。この項では、高可用性アダプタに固有の要素について説明します。

この章の内容は次のとおりです。

- ha-buffering-adapter

- ha-broadcast-adapter

- ha-correlating-adapter

- ha-inbound-adapter

- batch-size

- fail-over-delay

- heartbeat

- trimming-interval

- warm-up-window-length

- window-length

8.1 ha-buffering-adapter

ha-buffering-adapter要素を使用して、高可用性バッファリング・アダプタを作成します。この要素には次の子要素があります。

- warm-up-window-length

- window-length

次の例は、これらの要素を構成ファイルで使用する方法を示します。

<ha:ha-buffering-adapter >
<name>mySlidingWindowingAdapter</name>
<window-length>15000</window-length>
<warm-up-window-length units="minutes">6</warm-up-window-length>
</ha:ha-buffering-adapter >

8.2 ha-broadcast-adapter

ha-broadcast-adapterを使用して、高可用性ブロードキャスト・アダプタを作成します。この要素には次の子要素があります。

- trimming-interval

- warm-up-window-length

次の例は、trimming-interval要素を構成ファイルで使用する方法を示します。

<ha:ha-broadcast-adapter>
<name>myBroadcastAdapter</name>
<trimming-interval units="events">10</trimming-interval>
<warm-up-window-length units="minutes">6</warm-up-window-length>
</ha:ha-broadcast-adapter>

8.3 ha-correlating-adapter

ha-correlating-adapterを使用して、高可用性相関アダプタを作成します。この要素には次の子要素があります。

- batch-size

- heartbeat

- fail-over-delay

- trimming-interval

- warm-up-window-length

- window-length

次の例は、fail-over-delay要素を構成ファイルで使用する方法を示します。

<ha:ha-correlating-adapter>
<name>myHaBroadcastAdapter</name>
<fail-over-delay>2000</fail-over-delay>
</ha:ha-correlating-adapter>

8.4 ha-inbound-adapter

ha-inbound-adapterを使用して、高可用性入力アダプタを作成します。この要素には次の子要素があります。

- batch-size

- heartbeat

次の例は、heartbeatおよびbatch-size要素を構成ファイルで使用する方法を示します。

<ha:ha-inbound-adapter>
<name>myHaInputAdapter</name>
<heartbeat units="millis">1000</heartbeat>
<batch-size>10</batch-size>
</ha:ha-inbound-adapter>

8.5 batch-size

batch-size: 同じタイムスタンプを使用してセカンダリ・サーバーに送信するイベントの数を示す整数値。デフォルトでは、バッチ処理は無効(値0)です。

8.6 fail-over-delay

fail-over-delay: セカンダリ・サーバーがプライマリ・サーバーに障害が発生したと判断して相関メッセージを受信するまで待機する時間(ミリ秒単位)。

8.7 heartbeat

heartbeat: このアダプタのハートビート・タイムアウトの値(n)。このアダプタでイベントが生成されずにn時間単位が経過すると、Oracle Event Processingによりハートビートが生成されます。デフォルトの時間単位はnanosecondsです。

8.8 trimming-interval

trimming-interval: Oracle Event Processingにより、セカンダリ・サーバー・バッファからイベントがトリミングされる間隔。単位はeventsまたはmillisecondsです。

8.9 warm-up-window-length

warm-up-window-length: ウォームアップ・ウィンドウの長さ。単位には秒(デフォルト)または分があります。ウォームアップ・ウィンドウは、セカンダリ・サーバーがクラスタを結合した後に有効な出力イベントの生成を開始するまでに必要な時間の長さです。すべてのOracle CQL問合せの入力ウィンドウを完全に移入できるよう、ウォームアップ・ウィンドウは十分な長さに設定してください。デフォルトでは、長さは0で、ウォームアップ・ウィンドウがないことを意味します。

8.10 window-length

window-length: ウォームアップ・ウィンドウの長さ。単位には、秒(デフォルト)または分、および単位(秒または分)を持つタイプLongがあります。ウォームアップ・ウィンドウは、セカンダリ・サーバーがクラスタを結合した後に有効な出力イベントの生成を開始するまでに必要な時間の長さです。すべてのCQL問合せの入力ウィンドウを完全に移入できるよう、ウォームアップ・ウィンドウは十分な長さに設定してください。デフォルトでは、長さは0秒で、ウォームアップ・ウィンドウがないことを意味します。

9 データ・カートリッジ・スキーマ

この章では、Oracle Event Processingデータ・カートリッジのスキーマ・ファイルのスキーマのリファレンス情報を示します。これらのファイルには、Oracle Event Processingインストールの/Oracle/Middleware/my_osa/osa/xsdでアクセスできます。

この章の内容は次のとおりです。

- ocep_jdbc_context_config.xsd

- ocep-jdbc.xsd

- ocep-spatial.xsd

- ocep-hadoop.xsd

- ocep-nosql.xsd

9.1 ocep_jdbc_context_config.xsd

ocep_jdbc_context_config.xsdファイルでは、JDBCデータ・カードリッジの構成設定が定義されます。JDBCカードリッジの構成には、次の要素および属性が含まれます。

- data-source: サーバーおよびデータベース間のデータベース接続の名前。

- function: データベース表の問合せのためにコールするJDBC関数。JDBCカートリッジ関数は、コレクションを返すTABLE関数です。

- param: データベース問合せのためにfunctionに渡されるパラメータ値を定義するために必要な、nameおよびtypeのペアのセット。type値は、Oracle CQLの単純型です。

- return-component-type: Oracle CQLの単純データ型(INT、FLOATなど)、複合型(POJO Bean名など)、またはカートリッジにより定義される拡張型。return-component-typeは、JDBCカートリッジのTABLE関数によって返されるcollection-typeのコンポーネント型を表します。

- sql: functionを定義するSQL問合せ。param要素でコロン(:)を使用して宣言される、パラメータへの参照に優先します。

構成ファイルにおける次のエントリは、SQL文を使用してJDBCカートリッジ構成を作成するための、これらの要素および属性の使用方法を示しています。

<jc:jdbc-ctx>
<name>JdbcCartridgeOne</name>
<data-source>StockDS</data-source>
<function name="getDetailsByOrderIdName">
<param name="inpOrderId" type="int" />
<param name="inpName" type="char" />
<return-component-type>
com.oracle.cep.example.jdbc_cartridge.RetEvent
</return-component-type>
<sql><![CDATA[
SELECT
Employee.empName as employeeName,
Employee.empEmail as employeeEmail,
OrderDetails.description as description
FROM
PlacedOrders, OrderDetails , Employee
WHERE
PlacedOrders.empId = Employee.empId AND
PlacedOrders.orderId = OrderDetails.orderId AND
Employee.empName = :inpName AND
PlacedOrders.orderId = :inpOrderId
></sql>
</function>
</jc:jdbc-ctx>

9.2 ocep-jdbc.xsd

ocep-jdbc.xsdファイルでは、JDBCデータ・カードリッジのアセンブリ設定が定義されます。JDBCカードリッジのアセンブリ設定には、jdbc-context要素が含まれます。jdbc-context要素により、Oracle Event Processing JDBCカードリッジ・コンテキストを宣言します。

アセンブリ・ファイルにおける次のエントリにより、JDBCカードリッジ・コンテキストはJdbcCartridgeOneに設定されます。

<jdbc:jdbc-context id="JdbcCartridgeOne"/>

9.3 ocep-spatial.xsd

ocep-spatial.xsdファイルでは、空間contextのアセンブリ設定が定義されます。空間contextを使用して、使用する座標系および関連する属性を、次のように指定します。

空間contextには、次の属性があります。

- cartesian: デカルト座標系を使用するには、trueを指定します。デフォルトは、falseであり、測地(WGS84)座標系に設定されます。

- srid: 座標系を識別します。デフォルトは、測地(WGS84)座標系用のLAT_LNG_WGS84_SRIDです。デカルト座標系を使用する場合は、CARTESIANを指定します。

- sma: 半長軸パラメータを定義するdouble値を指定します。半長軸パラメータの値は、バッファリングおよび投影に使用されます。デフォルト値は、6378137.0です。

- rof: 扁平率パラメータ逆数を定義するdouble値を指定します。扁平率パラメータ逆数は、バッファリングおよび投影に使用されます。デフォルト値は、298.257223563です。

- tolerance: バッファリングを含む幾何演算において無視する最小距離を定義するdouble値を指定します。デフォルト値は、0.000000001です。

- anyinteract-tolerance: Oracle Spatialの幾何的関係演算子であるANYINTERACTのデフォルトの許容度を定義する、double値を指定します。デフォルト値は、0.0000005です。

アセンブリ・ファイルにおける次のエントリは、空間コンテキストの構成を示しています。

<spatial:context id="my-spatial-context" anyinteract-tolerance="0.0000005"
rof="298.257223563" sma="6378137.0" srid="LAT_LNG_WGS84_SRID"
tolerance="0.000000001"/>

9.4 ocep-hadoop.xsd

ocep-hadoop.xsd ファイルでは、Hadoopファイル・システムまたはローカル・ファイル・システムに配置されたイベント情報を格納するfile用のアセンブリ設定を定義します。file要素には、次の属性があります。

- event-type: Hadoop HDFSまたはローカルFSに格納されるデータのスキーマを定義するイベント・タイプを指定します。

- path: Oracle Event Processingによりイベント・データが格納される場所の、Hadoop HDFSまたはローカルFSにおけるファイル・パスを指定します。パス文字列がスラッシュで始まる場合は、絶対パスです。

- separator: ファイル・パス・セパレータを指定します。パス・セパレータは、参照されるファイル内でのデータの区切り方に関係します。たとえば、パスがCSVファイルを参照する場合、フィールドがカンマ(,)で区切られるよう、セパレータを指定します。

- operation-timeout: 操作が完了するまでの待機時間を、ミリ秒単位で指定します。指定された時間内に操作が完了しない場合は、空の結果が返された後、操作は正常に続行されます。

アセンブリ・ファイルにおける次のエントリは、Hadoopの構成を示してします。

<hadoop:file id="hadoop" event-type="OracleL2StockTick"
path="/my_hadoop/hadoop/hadoop_file" separator=","/>

9.5 ocep-nosql.xsd

ocep-nosqldb.xsdファイルにより、NoSQLDBに配置された、イベント情報を含むデータstore用のアセンブリ設定が定義されます。store要素には、次の属性があります。

- event-type: NoSQLDBに格納されるデータのスキーマを定義するイベント・タイプを指定します。event-typeは、java.io.Serializableインタフェース実装したJavaベースのイベント・タイプにします。このストアに置かれたJavaオブジェクトをデシリアライズするときに、このイベントタイプを提供するアプリケーションのクラスローダーが使用されます。

- store-name: Oracle NoSQLDBストアの名前。

- store-locations: domain:port形式によるNoSQLDBノードの場所の、空白区切りのリスト。たとえば、localhost:5000などです。Oracle Event Processingでは、NoSQLDBサーバーへの接続に、これらの場所が使用されます。あるサーバーが使用できない場合、Oracle Event Processingにより、リストに記載された次の場所が使用されます。

アセンブリ・ファイルにおける次のエントリは、NoSQLDBの構成を示してします。

<nosqldb:store id="my_nosqldb" event-type="TradeEvent2"
store-name="my_nosql_store" store-locations="localhost:5000"/>

10 メタタイプ・スキーマ

ocep_metatype_config.xsdファイルは、オブジェクト・クラスをその属性定義にバインドするための構成要素および属性を記述します。

この付録の内容は次のとおりです。

- binding

- multi-valued

10.1 binding

binding要素を使用すると、オブジェクト・クラスおよび属性定義の実装のバインディングを指定するString値を指定できます。たとえば、オブジェクト・クラス定義におけるjmx:EventChannelの値は、そのオブジェクト・クラスをタイプEventChannelのJMX MBeanにバインドします。このbinding要素を使用する際に、プロトコルを指定する必要はありません。プロトコルは、含んでいるオブジェクト・クラス定義から明白であるためです。

この要素には、子要素も属性もありません。

10.2 multi-valued

multi-valued要素を使用すると、含まれている属性定義を集合的に使用して1つの複数値属性を作成するかどうかを指定するBoolean値を指定できます。たとえば、CQLプロセッサのパラメータ・バインディングがその例です。

この要素には、子要素も属性もありません。

Oracleの法律上の注意点

コピーライト

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

Pre-General Availability (一般提供前)版のドキュメントについて

このドキュメントがPre-General Availability (一般提供前)版の場合:

このドキュメントはPre-General Availability (一般提供前)版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のPre-General Availability (一般提供前)版のドキュメントについて

このドキュメントが非公開のPre-General Availability (一般提供前)版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のPre-General Availability Trial Agreement (Pre-GAトライアル契約)のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle Partner Network Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティ

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。