Oracle® CEP IDE Developer's Guide for Eclipse Release 11gR1 (11.1.1) Part Number E14301-02 |
|
|
View PDF |
This section contains information on the following subjects:
Appendix B, "Component Configuration Schema wlevs_application_config.xsd"
Appendix B, "EPN Assembly Schema spring-wlevs-v11_0_0_0.xsd"
Appendix B, "Server Configuration Schema wlevs_server_config.xsd"
An Oracle CEP application contains one or more component configuration files in its META-INF/wlevs
directory. You use component configuration files to override the default configuration for Oracle CEP components such as adapters, channels, and processors.
The wlevs_application_config.xsd
schema file describes the structure of component configuration files. This XSD schema imports the following schemas:
wlevs_base_config.xsd
wlevs_eventstore_config.xsd
wlevs_diagnostic_config.xsd
These schema files are located in the ORACLE_CEP_HOME
\ocep_11.1\xsd
directory, where ORACLE_CEP_HOME
is the main Oracle CEP installation directory, such as d:\oracle_cep
.
For more information, see Appendix C, "Schema Reference: Component Configuration wlevs_application-config.xsd".
The following example shows the component configuration file for the HelloWorld
sample application:
<?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>
You use the EPN assembly file to declare the components that make up your Oracle CEP application and how they are connected to each other, or in other words, the event processing network. The EPN assembly file is an extension of the standard Spring context file. You also use the file to register the Java classes that implement the adapter and POJO components of your application, register the event types that you use throughout your application and EPL rules, and reference in your environment the Oracle CEP-specific services.
The spring-wlevs-v11_0_0_0.xsd
file describes the structure of EPN assembly files.
This schema file is located in the ORACLE_CEP_HOME
\ocep_11.1\xsd
directory, where ORACLE_CEP_HOME
is the main Oracle CEP installation directory, such as d:\oracle_cep
.
For more information, see Appendix D, "Schema Reference: EPN Assembly spring-wlevs-v11_0_0_0.xsd".
The following XML file shows the EPN assembly file for the HelloWorld example:
<?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-v11_0_0_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 having to go 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 CEP 11.0.0.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>
The deployment file for an Oracle CEP instance is called deployments.xml
and is located in the DOMAIN_DIR/servername
directory, where DOMAIN_DIR
refers to the main domain directory and servername
refers to the name of the server instance. This XML file lists the OSGi bundles that have been deployed to the server.
The deployment.xsd
schema file describes the structure of deployment files.
This schema file is located in the ORACLE_CEP_HOME
\ocep_11.1\xsd
directory, where ORACLE_CEP_HOME
is the main Oracle CEP installation directory, such as d:\oracle_cep
.
For more information, see Appendix E, "Schema Reference: Deployment deployment.xsd".
The following example shows the deployments.xml
file for the sample FX domain:
<?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>
The Oracle CEP server configuration file, config.xml
, is located in the DOMAIN_DIR
/
servername
/config
directory, where DOMAIN_DIR
refers to the main domain directory and servername
refers to a particular server instance. To change the configuration of an Oracle CEP instance, you can update this file manually and add or remove server configuration elements.
The welvs_server_config.xsd
schema file describes the structure of server configuration files.
This schema file is located in the ORACLE_CEP_HOME
\ocep_11.1\xsd
directory, where ORACLE_CEP_HOME
is the main Oracle CEP installation directory, such as d:\oracle_cep
.
For more information, see Appendix F, "Schema Reference: Server Configuration wlevs_server_config.xsd".
The following sample config.xml
, from the ORACLE_CEP_HOME
/user_projects/domains/ocep_domain/defaultserver
template domain, shows how to configure some of these services:
<?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>