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 Event Processing application components such as adapters, channels, caching systems, and event beans.
This appendix includes the following sections:
Oracle Event Processing 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 Event Processing 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 inject-parameters trace-parameters max-size max-threads selector heartbeat partition-order-capacity offer-timeout fail-when-rejected
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 Event Processing 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.
Specify true for this element to specify that event tracing or event injection is on. The default is true.
Note that when the value of the active element is false, the channel-name value will be ignored.
For more on event tracing and injection, see the following:
The component configuration excerpt shown in the following example illlustrates how you might configure a processor for event tracing. The trace-parameters element's active child element specifies that tracing is on, while the channel-name element specifies the HTTP pub-sub channel to which traced elements should be sent.
<processor>
<name>FindCrossRates</name>
<trace-parameters>
<active>true</active>
<channel-name>/NonClusteredServer/fx/FindCrossRates/output</channel-name>
</trace-parameters>
<rules>
<!-- Query rules omitted. -->
</rules>
</processor>
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 15, "Integrating an External Component Using a Custom Adapter".
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 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 Event Processing 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 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 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 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 Event Processing
"Parameterized Queries" in the Oracle Fusion Middleware EPL Language Reference for Oracle 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 Event Processing 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 25.1.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 Event Processing 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 Event Processing
"Parameterized Queries" in the Oracle Fusion Middleware EPL Language Reference for Oracle 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 Event Processing application; it is not necessary for the application to function correctly. Oracle Event Processing 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 13.3, "Configuring an Oracle Event Processing 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 Event Processing 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 13.5.3, "Configuring a 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 Event Processing 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 specify the name of the channel onto which events should be injected or to which traced events should be sent. The element's value must be a path to the channel in a form like the following default values (note that the path must begin with a slash):
For event tracing:
/serverID/appID/stageID/output
For event injection:
/serverID/appID/stageID/input
Note that when the value of the active element is false, the channel-name value will be ignored.
For more on event tracing and injection, see the following:
The component configuration excerpt shown in the following example illlustrates how you might configure a processor for event tracing. The trace-parameters element's active child element specifies that tracing is on, while the channel-name element specifies the HTTP pub-sub channel to which traced elements should be sent.
<processor>
<name>FindCrossRates</name>
<trace-parameters>
<active>true</active>
<channel-name>/NonClusteredServer/fx/FindCrossRates/output</channel-name>
</trace-parameters>
<rules>
<!-- Query rules omitted. -->
</rules>
</processor>
Use this element to define the Oracle Coherence cache configuration for a coherence-caching-system.
For more information, see Section 13.3, "Configuring an Oracle Event Processing 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 13.2, "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 Event Processing Multi-Server Domain Administration" in the Oracle Fusion Middleware Administrator's Guide for Oracle 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 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 Event Processing 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 Event Processing uses when it acquires a connection to the JMS service provider.
When Oracle Event Processing 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 Event Processing 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 11.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 Event Processing uses when it acquires a connection to the JMS service provider.
When Oracle Event Processing 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 Event Processing 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 Event Processing uses when it acquires a connection to the JMS service provider.
When Oracle Event Processing 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 Event Processing 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 19, "Querying an Event Stream with Oracle EPL".
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 Event Processing 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 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 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 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 Event Processing application is publishing requires user authentication.
jms-adapter: When Oracle Event Processing acquires the JNDI InitialContext, it uses the user and password (or encrypted-password) elements. When Oracle Event Processing 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 Event Processing the user and password (or encrypted-password) elements.
Use either encrypted-password or password but not both.
For more information, see Section 11.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 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 16, "Configuring a Java Class as an Event Bean".
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 Event Processing 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 9.3.1, "Creating an Oracle Event Processing 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 Event Processing 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 9.1, "Overview of Oracle Event Processing 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>
Use this element to specify whether an com.bea.wlevs.ede.api.EventProcessingException should be raised if the event queue is full when the offer timeout expires. If set to false or not set at all, then the event is dropped rather than an exception raised. This configuration is only applicable for event queues whose max-size value is greater than 0. The default value is false.
For more on setting the offer timeout, see 0, "offer-timeout".
In the following example, the channel is configured to raise an EventProcessingException if 15 seconds pass while the event queue is full.
<channel>
<name>QueuedChannel</name>
<max-size>1000</max-size>
<max-threads>1</max-threads>
<offer-timeout>15000000000</offer-timeout>
<fail-when-rejected>true</fail-when-rejected>
</channel>
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.12, "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 Event Processing 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 new heartbeat timeout for a system-timestamped channel component. By default, the timeout value is 100 milliseconds, or 100,000,000 nanoseconds.
For system-timestamped relations or streams, time is dependent upon the arrival of data on the relation or stream data source. Oracle Event Processing 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 the value for this setting. Either the relation or stream is populated by its specified source or Oracle Event Processing 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 12, "Integrating an HTTP Publish-Subscribe Server".
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 configure event injection for a stage in the event processing network.
For more information about event injection, see Section 22.3, "Injecting Events".
The inject-parameters component configuration element supports the following child elements:
The component configuration excerpt shown in the following example illlustrates how you might configure a processor for event injection. The inject-parameters element's active child element specifies that injection is on, while the channel-name element specifies the HTTP pub-sub channel to which injected elements should be sent.
<processor>
<name>FindCrossRates</name>
<inject-parameters>
<active>true</active>
<channel-name>/NonClusteredServer/fx/FindCrossRates/input</channel-name>
</inject-parameters>
<rules>
<!-- Query rules omitted. -->
</rules>
</processor>
Use this element to define a JMS adapter component.
For more information, see Chapter 11, "Integrating the Java Message Service".
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 Event Processing 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 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 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 Event Processing 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.
Note:
When a child of theadapter element, this element is for internal use only.Use this element to define the number of threads in a network input/output port for a component.
Use this element to specify the amount of time, when an event queue is full and a pending insert (the "offer") is blocked, after which the pending event will be dropped or an exception raised. An exception will be raised when the fail-when-rejected value is set to true; otherwise, the event will be dropped. This setting is only applicable for event queues whose max-size value is greater than 0. The offer-timeout value should be specified as nanoseconds. The default is 60 seconds.
In the following example, the channel is configured to raise an EventProcessingException if 15 seconds pass while the event queue is full.
<channel>
<name>QueuedChannel</name>
<max-size>1000</max-size>
<max-threads>1</max-threads>
<offer-timeout>15000000000</offer-timeout>
<fail-when-rejected>true</fail-when-rejected>
</channel>
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.12, "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 Event Processing 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 Event Processing
"Parameterized Queries" in the Oracle Fusion Middleware EPL Language Reference for Oracle 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 17, "Querying an Event Stream with Oracle CQL".
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 Event Processing application is publishing requires user authentication.
jms-adapter: When Oracle Event Processing acquires the JNDI InitialContext, it uses the user and password (or encrypted-password) elements. When Oracle Event Processing 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 Event Processing 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 20, "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 19, "Querying an Event Stream with Oracle EPL".
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 17, "Querying an Event Stream with Oracle CQL".
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 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 Event Processing 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 Event Processing 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 17, "Querying an Event Stream with Oracle CQL".
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 17, "Querying an Event Stream with Oracle CQL". |
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 17, "Querying an Event Stream with Oracle CQL". |
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 20, "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 17, "Querying an Event Stream with Oracle CQL". |
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 17, "Querying an Event Stream with Oracle CQL". |
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:
Theselector attribute is only applicable if the up-stream node is an Oracle CQL processor. For more information, see Chapter 17, "Querying an Event Stream with Oracle CQL".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 Event Processing server config.xml file element http-pubsub child element path of the local HTTP pub-sub server associated with the Oracle Event Processing instance hosting the current Oracle Event Processing 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.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 Event Processing application will publish. The remote HTTP pub-sub server could be another instance of Oracle Event Processing, 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).
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 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 "Monitoring the Throughput and Latency of a Stage or Path in the EPN" in the Oracle Fusion Middleware Visualizer User's Guide for Oracle 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:
Thestream component is deprecated in 11g Release 1 (11.1.1). Use the channel element instead.Use this element to define a symbol for an adapter, http-pub-sub-adapter, or jms-adapter element.
Note:
Thesymbol component is deprecated in 11g Release 1 (11.1.1).Use this element to define one or more symbol elements for a component.
Note:
Thesymbol component is deprecated in 11g Release 1 (11.1.1).Use this element to define the threshold above which Oracle Event Processing 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 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 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 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 Event Processing 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 20, "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 Event Processing 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 20, "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 13.3, "Configuring an Oracle Event Processing 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 configure event tracing for a stage in the event processing network.
For more information about event tracing, see Section 22.4, "Tracing Events".
The trace-parameters component configuration element supports the following child elements:
The component configuration excerpt shown in the following example illlustrates how you might configure a processor for event tracing. The trace-parameters element's active child element specifies that tracing is on, while the channel-name element specifies the HTTP pub-sub channel to which traced elements should be sent.
<processor>
<name>FindCrossRates</name>
<trace-parameters>
<active>true</active>
<channel-name>/NonClusteredServer/fx/FindCrossRates/output</channel-name>
</trace-parameters>
<rules>
<!-- Query rules omitted. -->
</rules>
</processor>
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 Event Processing application is publishing requires user authentication.
jms-adapter: When Oracle Event Processing acquires the JNDI InitialContext, it uses the user and password (or encrypted-password) elements. When Oracle Event Processing 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 Event Processing 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 17, "Querying an Event Stream with Oracle CQL".
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 17, "Querying an Event Stream with Oracle CQL". |
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 17, "Querying an Event Stream with Oracle CQL". |
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 Event Processing 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 Event Processing 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>