This appendix describes the elements of the wlevs_application_config.xsd
schema.
For more information, see:
Section D.1, "Overview of the Oracle CEP Component Configuration Elements"
Section B.2, "Component Configuration Schema wlevs_application_config.xsd".
Oracle CEP provides a number of component configuration elements that you use to define the characteristics of the of the components you declare in the EPN assembly file.
The top-level Oracle CEP component configuration elements are organized into the following hierarchy:
config
adapter
(see Example D-1)
http-pub-sub-adapter
(see Example D-2)
jms-adapter
(see Example D-3)
processor
(see Example D-4 and Example D-5)
stream
(see Example D-6)
channel
(see Example D-7)
event-bean
(see Example D-8)
caching-system
(see Example D-9)
coherence-caching-system
(see Example D-10)
diagnostic-profiles
(see Example D-11)
Example D-1 adapter Element Hierarchy
adapter name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration symbols symbol work-manager-name netio provider-name num-threads accept-backlog
Example D-2 http-pub-sub-adapter Element Hierarchy
http-pub-sub-adapter name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration symbols symbol work-manager-name netio provider-name num-threads accept-backlog One of: server-context-path server-url channel (http-pub-sub-adapter Child Element) event-type user One of: password encrypted-password
Example D-3 jms-adapter Element Hierarchy
jms-adapter name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration event-type jndi-provider-url jndi-factory connection-jndi-name One of: destination-jndi-name destination-name user One of: password encrypted-password connection-user One of: connection-password connection-encrypted-password work-manager concurrent-consumers message-selector session-ack-mode-name session-transacted delivery-mode bindings (jms-adapter) group-binding param
Example D-4 processor (EPL) Element Hierarchy
processor (EPL) name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration rules rule query view database bindings (processor) binding params
Example D-5 processor (Oracle CQL) Element Hierarchy
processor (Oracle CQL) name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration rules rule query view bindings (processor) binding params
Example D-6 stream Element Hierarchy
stream name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration max-size max-threads
Example D-7 channel Element Hierarchy
channel name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-threads max-size time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration max-size max-threads selector heartbeat
Example D-8 event-bean Element Hierarchy
event-bean name record-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration batch-size batch-time-out playback-parameters dataset-name event-type-list event-type provider-name store-policy-parameters parameter name value max-size max-threads time-range start end time-range-offset start duration schedule-time-range start end schedule-time-range-offset start duration
Example D-9 caching-system Element Hierarchy
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
Example D-10 coherence-caching-system Element Hierarchy
coherence-caching-system name coherence-cache-config coherence-cluster-config
Example D-11 diagnostic-profiles Element Hierarchy
diagnostic-profiles name profile name enabled start-stage max-latency name collect-interval amount unit start-location application stage direction end-location application stage direction average-latency name collect-interval amount unit start-location application stage direction end-location application stage direction threshhold throughput name throughput-interval amount unit average-interval amount unit location application stage direction
The following sample component configuration file from the HelloWorld application shows how to use many of the Oracle CEP elements:
<?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>
Use this element to define the maximum number of pending connections allowed on a socket. This element is only applicable in a netio element.
Use this element to define a custom adapter component. For an HTTP publish-subscribe or JMS adapter, use the specific http-pub-sub-adapter and jms-adapter elements.
For more information, see Chapter 14, "Configuring Custom Adapters".
The adapter
component configuration element supports the following child elements:
Use this element to define the a time duration of a diagnostic profile. This element is applicable in any of the following elements:
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The following example shows how to use the amount
element in the component configuration file:
<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>
Use this element to define the type of application Oracle CEP server applies to a foreign stage. In a diagnostic profile, this element always has a value of diagnostic
.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The following example shows how to use the application
element in the component configuration file:
<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>
Use this element to define the time interval for which you want to gather metrics.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The average-interval
component configuration element supports the following child elements:
The following example shows how to use the average-interval
element in the component configuration file:
<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>
Use this element to define an average latency calculation in a diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The average-latency
component configuration element supports the following child elements:
The following example shows how to use the average-latency
element in the component configuration file:
<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>
Use this element to define the number of updates that are picked up from the store buffer to write back to the backing store. This element may be changed dynamically.
The following example shows how to use the batch-size
element in the component configuration file:
<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>
Use this element to define The number of seconds event buffer will wait to accumulate batch-size
number of events before to write to the event store.
The following example shows how to use the batch-time-out
element in the component configuration file:
<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>
Use this element to define values for a parameterized Oracle CQL or EPL rule in an EPL processor component.
For more information, see:
"Parameterized Queries" in the Oracle Complex Event Processing CQL Language Reference
"Parameterized Queries" in the Oracle Complex Event Processing EPL Language Reference
The binding
component configuration element supports the following child elements:
The following example shows how to use the binding
element in the component configuration file:
<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>
Using the com.oracle.cep.cluster.hagroups.ActiveActiveGroupBean
, you can partition an incoming JMS stream in Oracle CEP applications by utilizing the notification groups that the ActiveActiveGroupBean
creates.
Use this element to associate a notification group with a particular message-selector
value.
For more information, see Section 22.2.2, "ActiveActiveGroupBean".
The bindings
component configuration element supports the following child elements:
The following example shows how to use the bindings
element in the component configuration file:
<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>
In this configuration, when the application is deployed to an Oracle CEP server with a cluster
element groups
child element that contains ActiveActiveGroupBean_group1
, then the CONDITION
parameter is defined as acctid > 400
and the application processes events whose acctid
property is greater than 400.
Use this element to define bindings for one or more parameterized Oracle CQL or EPL rules in a processor component.
For more information, see:
"Parameterized Queries" in the Oracle Complex Event Processing CQL Language Reference
"Parameterized Queries" in the Oracle Complex Event Processing EPL Language Reference
The bindings
component configuration element supports the following child elements:
The following example shows how to use the bindings
element in the component configuration file:
<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>
Use this element to define the size of the internal store buffer that's used to temporarily hold asynchronous updates that need to be written to the store. Does not support dynamic updates.
The following example shows how to use the buffer-size
element in the component configuration file:
<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>
Use this element to define the number of attempts that the user thread will make to write to the store buffer. The user thread is the thread that creates or updates a cache entry. If the user thread cannot write to the store buffer (all write attempts fail), it will invoke the store synchronously. This element may be changed dynamically.
The buffer-write-attempts
component configuration element has no child elements.
The following example shows how to use the buffer-write-attempts
element in the component configuration file:
<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>
Use this element to define the time in milliseconds that the user thread will wait before aborting an attempt to write to the store buffer. The attempt to write to the store buffer fails only in case the buffer is full. After the timeout, further attempts may be made to write to the buffer based on the value of buffer-write-attempts. This element may be changed dynamically.
The buffer-write-timeout
component configuration element has no child elements.
The following example shows how to use the buffer-write-timeout
element in the component configuration file:
<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>
Use this element to define a cache for a component. A cache is a temporary storage area for events, created exclusively to improve the overall performance of your Oracle CEP application; it is not necessary for the application to function correctly. Oracle CEP applications can optionally publish or consume events to and from a cache to increase the availability of the events and increase the performance of their applications.
For more information, see Section 12.2, "Configuring an Oracle CEP Local Caching System and Cache".
The cache
component configuration element supports the following child elements:
The following example shows how to use the cache
element in the component configuration file:
<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>
Use this element to define an Oracle CEP local caching system component. A caching system refers to a configured instance of a caching implementation. A caching system defines a named set of configured caches as well as the configuration for remote communication if any of the caches are distributed across multiple machines.
For more information, see Section 12.2.1, "Configuring an Oracle CEP Local Cache as an Event Listener".
The caching-system
component configuration element supports the following child elements:
The following example shows how to use the caching-system
element in the component configuration file:
<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>
In the example, the channel's unique identifier is providerCachingSystem
.
Use this element to define a channel component. An Oracle CEP application contains one or more channel components that represent the physical conduit through which events flow between other types of components, such as between adapters and processors, and between processors and event beans (business logic POJOs).
The channel
component configuration element supports the following child elements:
The following example shows how to use the channel
element in the component configuration file:
<channel> <name>MatchOutputChannel</name> <max-size>0</max-size> <max-threads>0</max-threads> <selector>match</selector> </channel>
In the example, the channel's unique identifier is MatchOutputChannel
.
Use the channel
element to specify the channel that the http-pub-sub-adapter publishes or subscribes to, whichever is appropriate, for all http-pub-sub-adapter, whether they are local or remote or for publishing or subscribing.
The following example shows how to use the channel
element in the component configuration file:
<http-pub-sub-adapter>
<name>localPublisher</name>
<server-context-path>/pubsub</server-context-path>
<channel>/channel2</channel>
</http-pub-sub-adapter>
In the example, the localPublisher
pub-sub adapter publishes to a local channel with pattern /channel2
.
Use this element to define the Oracle Coherence cache configuration for a coherence-caching-system
.
For more information, see Section 12.2, "Configuring an Oracle CEP Local Caching System and Cache".
The coherence-cache-config
component configuration element has no child elements.
The following example shows how to use the coherence-cache-config
element in the component configuration file:
<coherence-caching-system> <name>nativeCachingSystem</name> <coherence-cache-config> applications/cache_cql/coherence/coherence-cache-config.xml </coherence-cache-config></coherence-caching-system>
Use this element to define an Oracle Coherence caching system component. A caching system refers to a configured instance of a caching implementation. A caching system defines a named set of configured caches as well as the configuration for remote communication if any of the caches are distributed across multiple machines.
For more information, see Section 12.3, "Configuring an Oracle Coherence Caching System and Cache".
The coherence-caching-system
component configuration element supports the following child elements:
The following example shows how to use the coherence-caching-system
element in the component configuration file:
<coherence-caching-system> <name>nativeCachingSystem</name> <coherence-cache-config> applications/cache_cql/coherence/coherence-cache-config.xml </coherence-cache-config> </coherence-caching-system>
In the example, the channel's unique identifier is nativeCachingSystem
.
Use this element to define the Oracle Coherence cluster configuration for a coherence-caching-system
.
For more information, see "Overview of Oracle CEP Multi-Server Domain Administration" in the Oracle Complex Event Processing Administrator's Guide.
The coherence-cache-config
component configuration element has no child elements.
The following example shows how to use the coherence-cache-config
element in the component configuration file:
<coherence-caching-system> <name>nativeCachingSystem</name> <coherence-cluster-config> applications/cluster_cql/coherence/coherence-cluster-config.xml </coherence-cluster-config></coherence-caching-system>
Use this element to define the collection interval of an average-latency
or max-latency
element in a diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The collect-interval
component configuration element supports the following child elements:
The following example shows how to use the collect-interval
element in the component configuration file:
<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>
Use this element to define the number of consumers to create. Default value is 1.
If you set this value to number greater than one, be sure that your converter bean is thread-safe because the converter bean will be shared among the consumers.
If concurrent-consumers
is greater than 1 and you want all the consumers to be run concurrently, then consider how you configure the work-manager you associate with this JMS adapter:
If the work-manager
is shared with other components (such as other adapters and Jetty) then set the work-manager
attribute max-threads-constraint
greater than or equal to the concurrent-consumers
setting.
If the work-manager
is not shared (that is, it is dedicated to this inbound JMS adapter only) then set the work-manager
attribute max-threads-constraint
equal to the concurrent-consumers
setting.
For more information, see:
The concurrent-consumers
component configuration element has no child elements.
The following example shows how to use the concurrent-consumers
element in the component configuration file:
<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>
Use this optional element to define a JNDI name of the JMS connection factory. Default value is weblogic.jms.ConnectionFactory
for Oracle CEP server JMS.
The connection-jndi-name
component configuration element has no child elements.
The following example shows how to use the connection-jndi-name
element in the component configuration file:
<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>
Use the connection-encrypted-password
element to define the encrypted jms-adapter
password that Oracle CEP uses when it acquires a connection to the JMS service provider.
When Oracle CEP calls the createConnection
method on the javax.jms.ConnectionFactory
to create a connection to the JMS destination (JMS queue or topic), it uses the connection-user
and connection-password
or connection-encrypted-password
element, if configured. Otherwise, Oracle CEP uses the user
and password
(or encrypted-password
) elements.
Use either connection-encrypted-password
or connection-password
but not both.
For more information, see Section 7.4, "Encrypting Passwords in the JMS Adapter Component Configuration File".
The connection-encrypted-password
component configuration element has no child elements.
The following example shows how to use the connection-encrypted-password
element in the component configuration file:
<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>
Use the connection-password
element to define the jms-adapter
password that Oracle CEP uses when it acquires a connection to the JMS service provider.
When Oracle CEP calls the createConnection
method on the javax.jms.ConnectionFactory
to create a connection to the JMS destination (JMS queue or topic), it uses the connection-user
and connection-password
or connection-encrypted-password
element, if configured. Otherwise, Oracle CEP uses the user
and password
(or encrypted-password
) elements.
Use either connection-password
or connection-encrypted-password
but not both.
The connection-password
component configuration element has no child elements.
The following example shows how to use the connection-password
element in the component configuration file:
<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>
Use the connection-user
element to define the jms-adapter
user name that Oracle CEP uses when it acquires a connection to the JMS service provider.
When Oracle CEP calls the createConnection
method on the javax.jms.ConnectionFactory
to create a connection to the JMS destination (JMS queue or topic), it uses the connection-user
and connection-password
or connection-encrypted-password
element, if configured. Otherwise, Oracle CEP uses the user
and password
(or encrypted-password
) elements.
You can use the connection-user
and connection-password
(or connection-encrypted-password
) settings in applications where one security provider is used for JNDI access and a separate security provider is used for JMS access.
The following example shows how to use the connection-user
element in the component configuration file:
<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>
Use this element to define a database reference for an EPL processor component.
For more information, see Chapter 11, "Configuring EPL Processors".
The following example shows how to use the database
element in the component configuration file:
<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>
Use this element to define the group of data that the user wants to group together. In the case of the Oracle RDBMS-based provider, it specifies the database area, or schema, in which the tables that store the recorded events are created. When configuring the Oracle RDBMS-based provider, you are required to specify this element.
The following example shows how to use the dataset-name
element in the component configuration file:
<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>
Use this element to define the delivery mode for a jms-adapter
.
Valid values are:
persistent
(default)
nonpersistent
The following example shows how to use the delivery-mode
element in the component configuration file:
<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>
Use this required element to define the JMS destination name for a jms-adapter
.
Specify either the JNDI name or the actual destination-name
, but not both.
The destination-jndi-name
component configuration element has no child elements.
The following example shows how to use the destination-jndi-name
element in the component configuration file:
<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>
Use this required element to define the JMS destination name for a jms-adapter
.
Specify either the actual destination name or the destination-jndi-name
, but not both.
The following example shows how to use the destination-name
element in the component configuration file:
<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>
Use this element to define one or more Oracle CEP diagnostic profiles.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The diagnostics-profiles
component configuration element supports the following child elements:
The following example shows how to use the diagnostics-profiles
element in the component configuration file:
<diagnostics-profiles> <name>myDiagnosticProfiles</name> <profile> ... </profile> </diagnostics-profiles>
In the example, the channel's unique identifier is myDiagnosticProfiles
.
Use this element to define the direction for a diagnostic profile end-location
or start-location
.
Valid values are:
INBOUND
OUTBOUND
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The following example shows how to use the direction
element in the component configuration file:
<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>
Use this element to define a time duration for a schedule-time-range-offset
or time-range-offset
element in the form:
HH:MM:SS
Where: HH
is a number of hours, MM
is a number of minutes, and SS
is a number of seconds.
The following example shows how to use the duration
element in the component configuration file:
<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>
Use this element to define whether or not a diagnostic profile is enabled.
Valid values are:
true
false
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The following example shows how to use the enabled
element in the component configuration file:
<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>
Use the encrypted-password
element in the following parent elements:
http-pub-sub-adapter
: Use the encrypted-password
element to define the encrypted password if the HTTP pub-sub server to which the Oracle CEP application is publishing requires user authentication.
jms-adapter
: When Oracle CEP acquires the JNDI InitialContext
, it uses the user
and password
(or encrypted-password
) elements. When Oracle CEP calls the createConnection
method on the javax.jms.ConnectionFactory
to create a connection to the JMS destination (JMS queue or topic), it uses the connection-user
and connection-password
(or connection-encrypted-password
element), if configured. Otherwise, Oracle CEP the user
and password
(or encrypted-password
) elements.
Use either encrypted-password
or password
but not both.
For more information, see Section 7.4, "Encrypting Passwords in the JMS Adapter Component Configuration File".
The following example shows how to use the encrypted-password
element in the component configuration file:
<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>
Use this element to define an end time for a time-range
or schedule-time-range
element.
Express the end time as an XML Schema dateTime
value of the form:
yyyy-mm-ddThh:mm:ss
For example, to specify that play back should start on January 20, 2010, at 5:00am and end on January 20, 2010, at 6:00 pm, enter the following:
<time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range>
For complete details of the XML Schema dateTime
format, see http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representation
.
The following example shows how to use the end
element in the component configuration file:
<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>
Use this element to define the end location of a average-latency
or max-latency
element in a diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The end-location
component configuration element supports the following child elements:
The following example shows how to use the end-location
element in the component configuration file:
<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>
Use this element to define an event bean component.
For more information, see Chapter 15, "Configuring Custom Event Beans".
The event-bean
component configuration element supports the following child elements:
Use the event-type
element in the following parent elements:
Publishing: Optional. For both local and remote HTTP pub-sub adapters for publishing, specify the fully qualified class name of the JavaBean
event to limit the types of events that are published. Otherwise, all events sent to the HTTP pub-sub adapter are published.
Subscribing: Required. For both local and remote HTTP pub-sub adapters for subscribing, specify the fully qualified class name of the JavaBean
to which incoming messages are mapped. At runtime, Oracle CEP uses the incoming key-value pairs in the message to map the message data to the specified event type.
You must register this class in the EPN assembly file as a wlevs:event-type-repository
element wlevs:class
child element. For more information, see Section 2.2, "Creating an Oracle CEP Event Type as a JavaBean".
jms-adapter
: Use the event-type
element to specify an event type whose properties match the JMS message properties. Specify this child element only if you want Oracle CEP to automatically perform the conversion between JMS messages and events. If you have created your own custom converter bean, then do not specify this element.
record-parameters
: Use the event-type
element to specify an event that you want to record.
The value of the event-type
element must be one of the event types you defined in your event type repository. For more information, see Section 1.1.2, "Oracle CEP Event Types".
The following example shows how to use the event-type
element in the component configuration file:
<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>
Use this element to define one or more events for record or playback for a component.
The event-type-list
component configuration element supports the following child elements:
The following example shows how to use the event-type-list
element in the component configuration file:
<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>
Use this element to define the eviction policy the cache uses when max-size
is reached.
Valid values are:
FIFO
: first in, first out.
LRU
: least recently used
LFU
: least frequently used (default)
NRU
: not recently used
The following example shows how to use the eviction-policy
element in the component configuration file:
<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>
Edit the component configuration file to add group-binding
child elements to the jms-adapter
element for the JMS inbound adapters.
Add one group-binding
element for each possible JMS message-selector value.
For more information, see Section D.11, "bindings (jms-adapter)".
The group-binding
component configuration element supports the following child elements:
Table D-3 lists the attributes of the group-binding
component configuration element.
The following example shows how to use the group-binding
element in the component configuration file:
<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>
In this configuration, when the application is deployed to an Oracle CEP server with a cluster
element groups
child element that contains ActiveActiveGroupBean_group1
, then the CONDITION
parameter is defined as acctid > 400
and the application processes events whose acctid
property is greater than 400.
Use this element to define a heartbeat timeout for a system-timestamped channel
component.
For system-timestamped relations or streams, time is dependent upon the arrival of data on the relation or stream data source. Oracle CEP generates a heartbeat on a system timestamped relation or stream if there is no activity (no data arriving on the stream or relation's source) for more than this number of nanoseconds. Either the relation or stream is populated by its specified source or Oracle CEP generates a heartbeat every heartbeat
number of nanoseconds.
The heartbeat child element applies to system-timestamped relations or streams only when no events arrive in the event channels that are feeding the processors and the processor has been configured with a statement that includes some temporal operator, such as a time-based window or a pattern matching with duration.
The following example shows how to use the heartbeat
element in the component configuration file:
<channel> <name>MatchOutputChannel</name> <max-size>0</max-size> <max-threads>0</max-threads> <selector>match</selector> <heartbeat>10000</heartbeat> </channel>
In the example, the channel's unique identifier is MatchOutputChannel
.
Use this element to define an HTTP publish-subscribe server adapter component.
For more information, see Chapter 8, "Configuring HTTP Publish-Subscribe Server Adapters".
The http-pub-sub-adapter
component configuration element supports the following child elements:
The following example shows how to use the http-pub-sub-adapter
element in the component configuration file:
<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>
In the example, the adapter's unique identifier is remotePub
.
Use this element to define the number of milliseconds a cache entry may not be accessed before being actively removed from the cache. By default, there is no idle-time set. This element may be changed dynamically.
The following example shows how to use the idle-time
element in the component configuration file:
<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>
Use this element to define a JMS adapter component.
For more information, see Chapter 7, "Configuring JMS Adapters".
The jms-adapter
component configuration element supports the following child elements:
One of:
One of:
One of:
The following example shows how to use the jms-adapter
element in the component configuration file:
<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>
In the example, the adapter's unique identifier is jmsInbound-text
.
Use this optional element to define a JNDI factory for a jms-adapter
. The JNDI factory name. Default value is weblogic.jndi.WLInitialContextFactory
, for Oracle CEP server JMS
The following example shows how to use the jndi-provider-url
element in the component configuration file:
<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>
Use this required element to define a JNDI provider URL for a jms-adapter
.
The following example shows how to use the jndi-provider-url
element in the component configuration file:
<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>
Use this element to define the behavior for cache listeners.
The listeners
element has a single child element, work-manager-name
, that specifies the work manager to be used for asynchronously invoking listeners. This value is ignored if synchronous invocations are enabled. If a work manager is specified for the cache itself, this value overrides it for invoking listeners only.
The listeners
component configuration element supports the following child elements:
The following example shows how to use the listeners
element in the component configuration file:
<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>
Use this element to define the location of a throughput
element in a diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The location
component configuration element supports the following child elements:
The following example shows how to use the location
element in the component configuration file:
<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>
Use this element to define the maximum latency calculation of a diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The max-latency
component configuration element supports the following child elements:
The following example shows how to use the max-latency
element in the component configuration file:
<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>
Use the max-size
element in the following parent elements:
channel
or stream
: Use the max-size
child element to specify the maximum size of the channel. Zero-size channels synchronously pass-through events. Non-zero size channels process events asynchronously, buffering events by the requested size. If max-threads
is zero, then max-size
is zero. The default value is 0.
cache
: Use the max-size
element to define the number of cache elements in memory after which eviction or paging occurs. Currently, the maximum cache size is 2^31-1 entries. This element may be changed dynamically
Use this element to define the maximum number of threads that Oracle CEP server uses to process events for a channel
or stream
. The default value is 0..
When set to 0, the channel acts as a pass-through. When max-threads > 0
, the channel acts as classic blocking queue, where upstream components are producers of events and the downstream components are the consumers of events. The queue size is defined by the configuration max-size. There will be up to max-threads
number of threads consuming events from the queue.
You can change max-threads
from 0 to a positive integer (that is, from a pass through to multiple threads) without redeploying. However, if you change max-threads
from a positive integer to 0 (that is, from multiple threads to a pass through), then you must redeploy your application.
If the max-size
attribute is 0, then setting a value for max-threads
has no effect.
The default value for this attribute is 0.
Setting this value has no effect when max-size
is 0.
Use this element to JMS message selector to use to filter messages in a jms-adapter
.
The syntax of a message selector expression is based on a subset of the SQL92 conditional expression syntax and message headers and properties. For example, to select messages based on property EventType
, you could use:
EventType = 'News' OR 'Commentary'
The following example shows how to use the message-selector
element in the component configuration file:
<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>
Use the name
element in the following parent elements:
adapter
, http-pub-sub-adapter
, jms-adapter
, processor (EPL)
, processor (Oracle CQL)
, stream
, channel
, event-bean
, caching-system
, and coherence-caching-system
: Use the name
element to associate this application configuration element with its corresponding element in the EPN assembly file. Valid value is the corresponding EPN assembly file element id
attribute.
diagnostic-profiles
: Use the name
element to uniquely identify the diagnostic-profiles
element and each of its profile
child elements.
parameter
: Use the name
element to define the name of a name/value pair.
Use this element to define a network input/output port for a component.
The netio
component configuration element supports the following child elements:
Use this element to define the number of threads in a network input/output port for a component.
Use the param element to associate a message selector value with the parameter name specified in the message-selector
element.
For more information, see Section D.11, "bindings (jms-adapter)".
The following example shows how to use the param
element in the component configuration file:
<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>
In this configuration, when the application is deployed to an Oracle CEP server with a cluster
element groups
child element that contains ActiveActiveGroupBean_group1
, then the CONDITION
parameter is defined as acctid > 400
and the application processes events whose acctid
property is greater than 400.
Use this element to define a name/value parameter for a component.
The parameter
component configuration element supports the following child elements:
The following example shows how to use the parameter
element in the component configuration file:
<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>
Use this element to define the parameters for a binding
element.
The value of this element is a comma separated list of simple type values. The order of the values must correspond with the order of the parameters in the EPL rule associated with this binding
.
For more information, see:
"Parameterized Queries" in the Oracle Complex Event Processing CQL Language Reference
"Parameterized Queries" in the Oracle Complex Event Processing EPL Language Reference
The following example shows how to use the params
element in the component configuration file:
<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>
Use the password
element in the following parent elements:
http-pub-sub-adapter
: Use the password
element to define the user password if the HTTP pub-sub server to which the Oracle CEP application is publishing requires user authentication.
jms-adapter
: When Oracle CEP acquires the JNDI InitialContext
, it uses the user
and password
(or encrypted-password
) elements. When Oracle CEP calls the createConnection
method on the javax.jms.ConnectionFactory
to create a connection to the JMS destination (JMS queue or topic), it uses the connection-user
and connection-password
(or connection-encrypted-password
element), if configured. Otherwise, Oracle CEP the user
and password
(or encrypted-password
) elements.
Use either encrypted-password
or password
but not both.
The following example shows how to use the password
element in the component configuration file:
<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>
Use this element to define event playback parameters for a component.
For more information, see Chapter 13, "Configuring Event Record and Playback".
The playback-parameters
component configuration element supports the following child elements:
The following example shows how to use the playback-parameters
element in the component configuration file:
<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>
Use this element to define the playback speed as a positive float. The default value is 1, which corresponds to normal speed. A value of 2 means that events will be played back 2 times faster than the original record speed. Similarly, a value of 0.5 means that events will be played back at half the speed.
The following example shows how to use the duration
element in the component configuration file:
<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>
Use this element to define an Oracle CQL or EPL processor component.
For more information, see Chapter 11, "Configuring EPL Processors".
For information on the processor element for Oracle CQL processors, see processor (Oracle CQL)
.
The processor
component configuration element supports the following child elements:
The following example shows how to use the processor
element in the component configuration file:
<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>
In the example, the processor's unique identifier is processor1
.
Use this element to define an Oracle CQL processor component.
For more information, see Chapter 10, "Configuring Oracle CQL Processors".
For information on the processor
element for EPL processors, see processor (EPL)
.
The processor
component configuration element supports the following child elements:
The following example shows how to use the processor
element in the component configuration file:
<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>
In the example, the processor's unique identifier is cqlProcessor
.
Use this element to define a diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The profile
component configuration element supports the following child elements:
The following example shows how to use the profile
element in the component configuration file:
<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>
Use the provider-name
element in the following parent elements:
netio
: Use the provider-name
element to define which provider to use for the underlying socket implementation. Valid value is an Oracle CEP server config.xml
file netio
child element provider-type
.
record-parameters
: Use the provider-name
element to define the name of the event store provider. The value of this element corresponds to the value of the name
child element of the rdbms-event-store-provider
element in the config.xml
file of the Oracle CEP server instance.
When configuring the Oracle RDBMS-based provider, you are required to specify this element.
This may be left blank to configure to use the default Berkeley database provider.
Use this element to define an Oracle CQL query for a component.
For more information, see Chapter 10, "Configuring Oracle CQL Processors".
The following example shows how to use the query
element in the component configuration file:
<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>
Use this element to define event record parameters for a component.
For more information, see Chapter 13, "Configuring Event Record and Playback".
The record-parameters
component configuration element supports the following child elements:
The following example shows how to use the record-parameters
element in the component configuration file:
<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>
Use this element to define whether or not to repeat playback-parameters.
Valid values are:
true
false
The following example shows how to use the duration
element in the component configuration file:
<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>
Use this element to define an EPL rule for a component.
This element is applicable only in a rules
element.
Use this element to define one or more Oracle CQL queries or views for a processor (Oracle CQL)
or EPL rules for a processor (EPL)
.
The rules
component configuration element supports the following child elements:
The following example shows how to use the rules
element in the component configuration file:
<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>
Use this element to define the time during which events will be played back to the stage. Playing back will start at the specified start time and will continue until all the events are played back or specified end time. If repeat
is set to true
, playback will continue until the specified end time or until playback is explicitly stopped by the user.
This element is applicable only to the playback-parameters
element.
The schedule-time-range
component configuration element supports the following child elements:
The following example shows how to use the schedule-time-range
element in the component configuration file:
<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>
Use this element to define the time during which events will be played back to the stage. Playing back will start at the specified start time and will continue until all the events are played back or specified end time. If repeat
is set to true
, playback will continue until the specified end time or until playback is explicitly stopped by the user.
This element is applicable only to the playback-parameters
element.
The schedule-time-range-offset
component configuration element supports the following child elements:
The following example shows how to use the schedule-time-range-offset
element in the component configuration file:
<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>
Use this element to specify which up-stream Oracle CQL processor queries are permitted to output their results to a downstream channel
.
Figure D-1 shows an EPN with channel filteredStream
connected to up-stream Oracle CQL processor filteredFanoutProcessor
.
Figure D-1 EPN With Oracle CQL Processor and Down-Stream Channel
Example D-12 shows the queries configured for the Oracle CQL processor.
Example D-12 filterFanoutProcessor Oracle CQL Queries
<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>
If you specify more than one query for an Oracle CQL processor as Example D-12 shows, then, by default, all query results are output to the processor's out-bound channel (filteredStream
in Figure D-1). Optionally, in the component configuration source, you can use the channel
element selector
child element to specify a space-delimited list of one or more Oracle CQL query names that may output their results to the channel as Example D-13 shows. In this example, query results for query Yr3Sector
and Yr2Sector
are output to filteredStream
but not query results for query Yr1Sector
.
Example D-13 Using selector to Control Which Query Results are Output
<channel> <name>filteredStream</name> <selector>Yr3Sector Yr2Sector</selector> </channel>
You may configure a channel
element with a selector
before creating the queries in the upstream processor. In this case, you must specify query names that match the names in the selector
.
Note:
Theselector
attribute is only applicable if the up-stream node is an Oracle CQL processor. For more information, see Chapter 10, "Configuring Oracle CQL Processors".The following example shows how to use the selector
element in the component configuration file:
<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>
Required. For each local http-pub-sub-adapter
for publishing, specify the value of the Oracle CEP server config.xml
file element http-pubsub
child element path
of the local HTTP pub-sub server associated with the Oracle CEP instance hosting the current Oracle CEP application.
Default: /pubsub
.
If you have created a new local HTTP pub-sub server, or changed the default configuration, then specify the appropriate path
child element value.
Note:
Do not specify this option for a remote HTTP pub-sub adapter.The server-context-path
component configuration element has no child elements.
Required. For each remote http-pub-sub-adapter
for publishing or subscribing, specify the URL of the remote HTTP pub-sub server to which the Oracle CEP application will publish. The remote HTTP pub-sub server could be another instance of Oracle CEP, or a WebLogic Server instance, or it could be any third-party HTTP pub-sub server. For example:
http://myhost.com:9102/pubsub
Note:
Do not specify this option for a local HTTP pub-sub adapter.The following example shows how to use the server-url
element in the component configuration file:
<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>
In the example, the URL of the remote HTTP pub-sub server to which the remotePublisher
adapter will publish events is http://myhost.com:9102/pubsub
.
Use this element to define the session acknowledge mode name for a jms-adapter.
Valid values from javax.jms.Session
are:
AUTO_ACKNOWLEDGE
: With this acknowledgment mode, the session automatically acknowledges a client's receipt of a message either when the session has successfully returned from a call to receive or when the message listener the session has called to process the message successfully returns.
CLIENT_ACKNOWLEDG
: With this acknowledgment mode, the client acknowledges a consumed message by calling the message's acknowledge method.
DUPS_OK_ACKNOWLEDGE
: This acknowledgment mode instructs the session to lazily acknowledge the delivery of messages.
Default: AUTO_ACKNOWLEDGE
.
The session-ack-mode-name
component configuration element has no child elements.
The following example shows how to use the session-ack-mode-name
element in the component configuration file:
<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>
Use this element to define whether or not a session is transacted for both an inbound or outbound jms-adapter
.
Valid values are:
true
false
The following example shows how to use the session-transacted
element in the component configuration file:
<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>
Use this element to define the stage for a start-location
or end-location
element of a diagnostic profile.
Valid values are the name of an existing stage in your Event Processing Network (EPN). For more information, see Section 1.1.1, "Components of the Oracle CEP Event Processing Network".
The following example shows how to use the stage
element in the component configuration file:
<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>
Use this element to define a start time for a time-range
, time-range-offset
, or schedule-time-range-offset
element.
Express the start time as an XML Schema dateTime
value of the form:
yyyy-mm-ddThh:mm:ss
For example, to specify that play back should start on January 20, 2010, at 5:00am and end on January 20, 2010, at 6:00 pm, enter the following:
<time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range>
For complete details of the XML Schema dateTime
format, see http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representation
.
The following example shows how to use the start
element in the component configuration file:
<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>
Use this element to define the start location of a diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The start-location
component configuration element supports the following child elements:
The following example shows how to use the start-location
element in the component configuration file:
<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>
Use this element to define the starting stage of a diagnostic profile.
Valid values are the name of an existing stage in your Event Processing Network (EPN). For more information, see Section 1.1.1, "Components of the Oracle CEP Event Processing Network".
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The following example shows how to use the start-stage
element in the component configuration file:
<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>
Use this element to define one or more store policy parameter, specific to the event store provider.
The store-policy-parameter
component configuration element supports the following child elements:
The following example shows how to use the store-policy-parameter
element in the component configuration file:
<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>
Use this element to define a stream component.
Note:
Thestream
component is deprecated in 11g Release 1 (11.1.1). Use the channel element instead.The stream
component configuration element supports the following child elements:
Use this element to define a symbol for an adapter
, http-pub-sub-adapter
, or jms-adapter
element.
Note:
Thesymbol
component is deprecated in 11g Release 1 (11.1.1).Use this element to define one or more symbol
elements for a component.
Note:
Thesymbol
component is deprecated in 11g Release 1 (11.1.1).The symbols
component configuration element supports the following child elements:
Use this element to define the threshold above which Oracle CEP server logs a monitoring event.
This element is applicable only in an average-latency
element in a diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The threshhold
component configuration element supports the following child elements:
The following example shows how to use the threshhold
element in the component configuration file:
<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>
Use this element to define a throughput diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The throughput
component configuration element supports the following child elements:
The following example shows how to use the throughput
element in the component configuration file:
<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>
Use this element to define the throughput interval of a diagnostic profile.
For more information, see "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Complex Event Processing Visualizer User's Guide.
The throughput-interval
component configuration element supports the following child elements:
The following example shows how to use the throughput-interval
element in the component configuration file:
<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>
Use this element to define a filter that Oracle CEP server applies to the events in the event store. Only events with a record-time in this time range will be played back to the stage.
Use either time-range-offset
or time-range
but not both.
For more information, see Chapter 13, "Configuring Event Record and Playback".
The time-range
component configuration element supports the following child elements:
The following example shows how to use the time-range
element in the component configuration file:
<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>
Use this element to define a filter that Oracle CEP server applies to the events in the event store. Only events with a record-time in this time range will be played back to the stage.
Use either time-range
or time-range-offset
but not both.
For more information, see Chapter 13, "Configuring Event Record and Playback".
The time-range-offset
component configuration element supports the following child elements:
The following example shows how to use the time-range-offset
element in the component configuration file:
<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>
Use this element to define the maximum amount of time, in milliseconds, that an entry is cached. Default value is infinite.
For more information, see Section 12.2, "Configuring an Oracle CEP Local Caching System and Cache".
The following example shows how to use the time-to-live
element in the component configuration file:
<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>
Use this element to define the duration units of amount
element.
Valid values are:
NANOSECONDS
MICROSECONDS
MILLISECONDS
SECONDS
MINUTES
HOURS
DAYS
The following example shows how to use the unit
element in the component configuration file:
<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>
Use the user
element in the following parent elements:
http-pub-sub-adapter: Use the user
element to define the user name if the HTTP pub-sub server to which the Oracle CEP application is publishing requires user authentication.
jms-adapter: When Oracle CEP acquires the JNDI InitialContext
, it uses the user
and password
(or encrypted-password
) elements. When Oracle CEP calls the createConnection
method on the javax.jms.ConnectionFactory
to create a connection to the JMS destination (JMS queue or topic), it uses the connection-user
and connection-password
(or connection-encrypted-password
element), if configured. Otherwise, Oracle CEP uses the user
and password
(or encrypted-password
) elements.
The following example shows how to use the user
element in the component configuration file:
<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>
Use this element to define the value of a parameter
element.
The following example shows how to use the value
element in the component configuration file:
<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>
Use this element to define an Oracle CQL view for a component.
For more information, see Chapter 10, "Configuring Oracle CQL Processors".
Table D-9 lists the attributes of the view
component configuration element.
Table D-9 Attributes of the view Component Configuration Element
Attribute | Description | Data Type | Required? |
---|---|---|---|
|
Unique identifier for this query. |
|
Yes. |
|
Execute this query when the application is deployed and run. Valid values are |
|
No. |
|
Space delimited list of stream elements used in the view. |
|
No. |
The following example shows how to use the view
element in the component configuration file:
<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>
Use this element to define the name of a work manager for a jms-adapter
.
Valid value is the name specified in the Oracle CEP server config.xml
file work-manager
element name
child element.The default value is the work manager configured for the application itself.
For more information, see Section F.44, "work-manager".
The following example shows how to use the work-manager
element in the component configuration file:
<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>
Use this element to define a work manager for a cache
.
The listeners
element has a single child element, work-manager-name
, that specifies the work manager to be used for asynchronously invoking listeners. This value is ignored if synchronous invocations are enabled. If a work manager is specified for the cache itself, this value overrides it for invoking listeners only.
Valid value is the name specified in the Oracle CEP server config.xml
file work-manager
element name
child element.The default value is the work manager configured for the application itself.
The following example shows how to use the work-manager-name
element in the component configuration file:
<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>
Use this element to specify asynchronous writes to the cache store. The cache store is invoked from a separate thread after a create or update of a cache entry. This element may be changed dynamically.
The write-behind
component configuration element supports the following child elements:
The following example shows how to use the write-behind
element in the component configuration file:
<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>
Use this element to specify no writes to a cache store. This is the default write policy. This element may be changed dynamically.
The following example shows how to use the write-none
element in the component configuration file:
<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>
Use this element to specify synchronous writes to the cache store. As soon as an entry is created or updated the write occurs. This element may be changed dynamically.
The following example shows how to use the write-through
element in the component configuration file:
<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>