This appendix provides a reference to the elements of the wlevs_application_config.xsd schema, the schema behind XML files you use to configure Oracle Complex Event Processing (Oracle CEP) application components such as adapters, channels, caching systems, and event beans.
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 destination-type durable-subscription durable-subscription-name
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 partition-order-capacity
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 threshold 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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware CQL Language Reference for Oracle Complex Event Processing
"Parameterized Queries" in the Oracle Fusion Middleware EPL Language Reference for Oracle Complex Event Processing
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 Fusion Middleware CQL Language Reference for Oracle Complex Event Processing
"Parameterized Queries" in the Oracle Fusion Middleware EPL Language Reference for Oracle Complex Event Processing
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 Fusion Middleware Administrator's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 the JMS destination type for a jms-adapter. Valid values are TOPIC or QUEUE. This property must be set to TOPIC whenever the durable-subscription property is set to true.
The following example shows how to use the destination-type 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>
<destination-type>TOPIC</destination-name>
<durable-subscription>true</durable-subscription>
<durable-subscription-name>JmsDurableSubscription</durable-subscription-name>
<user>weblogic</user>
<password>weblogic</password>
<work-manager>JettyWorkManager</work-manager>
<concurrent-consumers>1</concurrent-consumers>
<session-transacted>false</session-transacted>
</jms-adapter>
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 specify whether the JMS topic subscription of a jms-adapter is durable, meaning that it can persist even if subscribers become inactive. Valid values are true or false. This property is only valid if destination-type is set to TOPIC.
The durable-subscription component configuration element has no child elements.
The following example shows how to use the durable-subscription 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>
<destination-type>TOPIC</destination-name>
<durable-subscription>true</durable-subscription>
<durable-subscription-name>JmsDurableSubscription</durable-subscription-name>
<user>weblogic</user>
<password>weblogic</password>
<work-manager>JettyWorkManager</work-manager>
<concurrent-consumers>1</concurrent-consumers>
<session-transacted>false</session-transacted>
</jms-adapter>
Use this element to specify the name to uniquely identify a durable subscription of a jms-adapter. A durable subscription can persist even if subscribers become inactive.
The durable-subscription-name component configuration element has no child elements.
The following example shows how to use the durable-subscription-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>
<destination-type>TOPIC</destination-name>
<durable-subscription>true</durable-subscription>
<durable-subscription-name>JmsDurableSubscription</durable-subscription-name>
<user>weblogic</user>
<password>weblogic</password>
<work-manager>JettyWorkManager</work-manager>
<concurrent-consumers>1</concurrent-consumers>
<session-transacted>false</session-transacted>
</jms-adapter>
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware CQL Language Reference for Oracle Complex Event Processing
"Parameterized Queries" in the Oracle Fusion Middleware EPL Language Reference for Oracle Complex Event Processing
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 this element to define the maximum capacity of a query partition when the ordering-constraint attribute is set to PARTITION_ORDERED. Set this on a channel component. Consider setting this element's value when you've configured a query processor for parallel execution, and when the query's ordering-constraint attribute is set to PARTITION_ORDERED.
For more information, including best practices and information on the locations where this value can be set (including their precedence), see "Using partition-order-capacity with Partitioning Queries" in Chapter 10, "Configuring Oracle CQL Processors".
To have the capacity value apply at a larger scope, you can set it in the server configuration file. For more information, see "partition-order-capacity" in Appendix F, "Schema Reference: Server Configuration wlevs_server_config.xsd".
The partition-order-capacity component configuration element has no child elements.
The following example shows how to use the partition-order-capacity element in the component configuration file:
<channel>
<name>MatchOutputChannel</name>
<max-size>0</max-size>
<max-threads>0</max-threads>
<selector>match</selector>
<partition-order-capacity>20</partition-order-capacity>
</channel>
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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".
Table D-7 lists the attributes of the query component configuration element.
Table D-7 Attributes of the query 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. |
|
|
Enable or disable parallel query execution, through which events can be processed in parallel rather than serially. The attribute supports the following three values:
For more information see "Using the ordering-constraint Attribute" in Chapter 10, "Configuring Oracle CQL Processors". |
String |
No. |
|
|
The partition expression (used in the CQL code) that should be the basis for relaxing the cross-partition ordering constraint. For more information see "Using the ordering-constraint Attribute" in Chapter 10, "Configuring Oracle CQL Processors". |
String |
No. |
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.
Table D-8 lists the attributes of the rule component configuration element.
Table D-8 Attributes of the rule Component Configuration Element
| Attribute | Description | Data Type | Required? |
|---|---|---|---|
|
|
Unique identifier for this rule. |
|
Yes. |
|
|
Execute this rule when the application is deployed and run. Valid values are |
|
No. |
|
|
Enable or disable parallel query execution, through which events can be processed in parallel rather than serially. The attribute supports the following three values:
For more information see "Using the ordering-constraint Attribute" in Chapter 10, "Configuring Oracle CQL Processors". |
String |
No. |
|
|
The partition expression (used in the CQL code) that should be the basis for relaxing the cross-partition ordering constraint. For more information see "Using the ordering-constraint Attribute" in Chapter 10, "Configuring Oracle CQL Processors". |
String |
No. |
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:
The selector 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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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:
The stream 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:
The symbol component is deprecated in 11g Release 1 (11.1.1).
Use this element to define one or more symbol elements for a component.
Note:
The symbol 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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
The threshold 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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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 Fusion Middleware Visualizer User's Guide for Oracle Complex Event Processing.
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. |
|
|
Enable or disable parallel query execution, through which events can be processed in parallel rather than serially. The attribute supports one of the following three values:
For more information see "Using the ordering-constraint Attribute" in Chapter 10, "Configuring Oracle CQL Processors". |
String |
No. |
|
|
The partition expression (used in the CQL code) that should be the basis for relaxing the cross-partition ordering constraint. For more information see "Using the ordering-constraint Attribute" in Chapter 10, "Configuring Oracle CQL Processors". |
String |
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.45, "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>