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