This appendix provides a reference to the elements of the Oracle/Middleware/my_oep/oep/wlevs_application_config.xsd
schema. This schema is behind the XML files you use to configure Oracle Stream Explorer application components such as adapters, channels, caching systems, and event beans.
See Developing Applications for Event Processing with Oracle Stream Explorer for information about how to use the elements described in this chapter.
This appendix includes the following sections:
Use this element to define the maximum number of pending connections allowed on a socket. This element is only applicable in a netio element. This element has no child elements and no attributes.
The following example shows how to use the accept-backlog
element in the component configuration file:
<netio> <provider-name>providerCache</provider-name> <num-threads>1000</num-threads> <accept-backlog>50</accept-backlog> </netio>
Use the active element to turn event tracing on and off. When true
, event tracing is on. When false
, event tracing is off. When the active
element value is set to false
, the channel-name
value is ignored. This element has no child elements and no attributes.
The following example shows how to 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. This element has the following child elements and no attributes.
See also the following specialized adapter elements: http-pub-sub-adapter, jms-adapter, edn-adapter, csv-adapter, obr-adapter, quickfix-adapter, or rmi-adapter elements.
The following example shows how to use the adapter
element in the component configuration file. In the example, the adapter's unique identifier is trackdata
.
<adapter> <name>trackdata</name> <symbols> <symbol>BEAS</symbol> <symbol>IBM</symbol> </symbols> </adapter>
The adapter
component configuration element supports the following child elements and has no attributes:
Use this element to define the time duration for a diagnostic profile. The amount
element has no child elements and no attributes.
This element can be used with any of the following elements:
For more information about diagnostic profiles, see Using Visualizer for Oracle Stream Explorer.
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 the append
element with a CSV outbound adapter to specify whether event data should be appended to the output CSV file if it exists. When true
, Oracle Stream Explorer appends data to an existing CSV output file. When false
, Oracle Stream Explorer creates a new CSV file or overwrites an existing CSV file of the same name. This element has no child elements and no attributes.
The following example shows the assembly file entry for the StockTradeCSVOutboundAdapter
. The append
element value is false
.
<wlevs:adapter id="StockTradeCSVOutboundAdapter" provider="csv-outbound"> <wlevs:instance-property name="eventType" value="TradeEvent"/> <wlevs:instance-property name="outputFile" value="/scratch/mpawlan/oep9-19/oep/utils/load-generator/StockData.csv"/> <wlevs:instance-property name="append" value="false"/> </wlevs:adapter>
Use this element to define the type of application Oracle Stream Explorer server applies to a foreign stage. In a diagnostic profile, this element always has a value of diagnostic
. This element has no child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
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 the average-interval
element to define the time interval for which you want to gather metrics. This element has the following child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
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.
The following example shows how to use the average-latency
element in the component configuration file:
For more information, see Using Visualizer for Oracle Stream Explorer.
<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>
In an Oracle Stream Explorer application, you can use the com.oracle.cep.cluster.hagroups.ActiveActiveGroupBean
class to partition an incoming JMS stream with notification groups. Then, use the jms-adapter
bindings
element to associate a notification group with a particular message-selector
value.
This element has the group-binding child element and no attributes.
The following example shows how to use the bindings
element in the component configuration file. When an application with this configuration deploys to a server and the server has a cluster
element groups
child element that contains ActiveActiveGroupBean_group1
, the following happens:
The application processes events with an acctid
property that is greater than 400.
The CONDITION
parameter is defined as acctid > 400
.
<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>
Use the processor bindings
element to define bindings for one or more parameterized Oracle CQL rules in a processor component. The bindings
component configuration element has the binding
child element and no attributes.
For more information, see Oracle CQL Language Reference for Oracle Stream Explorer
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 the buffer-size
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. This element has no child elements and no attributes.
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 the buffer-write-attempts
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.
This element has no child elements and no attributes.
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 the buffer-write-timeout
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 time out, further attempts may be made to write to the buffer based on the value of buffer-write-attempts. This element may be changed dynamically.
This element has no child elements and no attributes.
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 the cache
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 Stream Explorer application. A cache is not necessary for the application to function correctly. Oracle Stream Explorer 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.
This element has the following child elements and no attributes.
One of:
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 the caching-element
element to define an Oracle Stream Explorer 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.
This element has the following child elements and no attributes.
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>
Use the channel element to define a channel component. An Oracle Stream Explorer 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).
This element has the following child elements and no attributes.
The following example shows how to use the channel
element in the component configuration file. In the example, the channel's unique identifier is MatchOutputChannel
.
<channel> <name>monitoring-control-stream</name> <max-size>10000</max-size> <max-threads>1</max-threads></channel>
Use the channel
element to specify the channel that the http-pub-sub-adapter publishes or subscribes to for all http-pub-sub-adapters, whether they are local or remote or for publishing or subscribing. This element has no child elements and no attributes.
The following example shows how to use the channel
element in the component configuration file. In the example, the localPublisher
pub-sub adapter publishes to a local channel with pattern /channel2
.
<http-pub-sub-adapter>
<name>localPublisher</name>
<server-context-path>/pubsub</server-context-path>
<channel>/channel2</channel>
</http-pub-sub-adapter>
Use the channel-name
element to specify the name of the channel onto which events are to be injected or to which traced events are to be sent. This element has no child elements and no attributes. When the value of the active
element is false
, the channel-name
value is ignored.
The element value must be a path to the channel in the following form and begin with a slash:
Event tracing: /serverID/appID/stageID/output
Event injection: /serverID/appID/stageID/input
The following example shows how to configure a processor for event tracing. The trace-parameters
element's active
child element specifies that tracing is on, and the channel-name
element specifies the HTTP pub-sub channel to which to send traced elements.
<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 the client-id
element to specify the ID of the durable subscription client for an EDN adapter. This element has no child elements and no attributes.
Use this element to define the Oracle Coherence cache configuration for a coherence-caching-system
. This element has no child elements and no attributes.
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- </coherence-cache-config></coherence-caching-system>
Use the coherence-caching-system
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.
This element has the following child elements and no attributes.
The following example shows how to use the coherence-caching-system
element in the component configuration file. In the example, the channel's unique identifier is nativeCachingSystem
.
<coherence-caching-system> <name>nativeCachingSystem</name> <coherence-cache-config> applications/cache_cql/coherence/coherence-cache- </coherence-cache-config> </coherence-caching-system>
Use the coherence-cluster-config
element to define the Oracle Coherence cluster configuration for a coherence-caching-system
. This element has no child elements and no attributes.
For more information, see Administering Oracle Stream Explorer.
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- </coherence-cluster-config></coherence-caching-system>
Use the collect-interval
element to define the collection interval of an average-latency
or max-latency
element in a diagnostic profile. This element has the following child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
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 the concurrent-consumers
element to define the number of consumers to create. Default value is 1. This element has no child elements and no attributes.
If you set this value to a number greater than one, be sure that your converter bean is thread-safe because the converter bean will be shared among the consumers. If the value of 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 work-manager.
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 the configuration
element to group key and value pairs. This element has the following child elements and no attributes:
The following example shows how to use the configuration
, config-name
, and config-value
elements.
<quickfix-adapter> <name>quickfixAdpater</name> <event-type>MyConfigEvent</event-type> <default-session description="default configuration"> ... <configuration description="identifier-message format"> <config-name>BeginString</config-name> <config-value>FIXT.0.1</config-value> </configuration> </default-session> <session description="ordertracker configuration"> <configuration description="identifier-acceptor"> <config-name>SenderCompID</config-name> <config-value>QA</config-value> </configuration> <configuration description="identifier-initiator"> <config-name>TargetCompID</config-name> <config-value>ORACLE</config-value> </configuration> </session> </quickfix-adapter>
Use the config-name
element to specify the key name for a configuration setting. This element has no child elements and no attributes.
Use the config-value
element to specify the value for a configuration setting. This element has no child elements and no attributes.
Use the optional connection-jndi-name
element to define a JNDI name of the JMS connection factory. Default value is weblogic.jms.ConnectionFactory
for Oracle Stream Explorer server JMS.
<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>
The following example shows how to use the connection-jndi-name
element in the component configuration file:
Use the connection-encrypted-password
element to define the encrypted jms-adapter
password that Oracle Stream Explorer uses when it acquires a connection to the JMS service provider. This element has no child elements and no attributes.
When Oracle Stream Explorer 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 Stream Explorer uses the user
and password
(or encrypted-password
) elements. Use either connection-encrypted-password
or connection-password
but not both.
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 Stream Explorer uses when it acquires a connection to the JMS service provider. This element has no child elements and no attributes.
When Oracle Stream Explorer 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 Stream Explorer uses the user
and password
(or encrypted-password
) elements.
Use either connection-password
or connection-encrypted-password
but not both.
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 Stream Explorer uses when it acquires a connection to the JMS service provider. This element has no child elements and no attributes.
When Oracle Stream Explorer 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 Stream Explorer 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 the context-path
element to specify the location on the web server where the application will be deployed. The context-path
element has no attributes and no children.
The following example shows how to use the context-path
element in a configuration file.
<rest-adapter> <name>httpInbound</name> <event-type-name>CallCenterActivity</event-type-name> <context-path>/testhttpadapter</context-path> </rest-adapter> <jaxb-mapper> <name>xmlMapperBean</name> <event-type-name>CallCenterActivity</event-type-name> <metadata>external_metadata_case1.xml</metadata> </jaxb-mapper> <csv-mapper> <name>csvMapperBean</name> <context-path>org.callcenter</context-path> <validate>false</validate> </csv-mapper>
Use a CSV Inbound adapter to accept data in the form of comma-separated values entering the EDN, and use a CSV Outbound adapter to send data in comma-separated values out of the EDN. The csv-adapter
element has the following child elements and no attributes.
The following configuration file example shows how to use the csv-adapter
element to create CSV inbound and outbound adapters.
<csv-adapter> <name>StockTradeCSVInboundAdapter</name> </csv-adapter> <csv-adapter> <name>StockTradeCSVOutboundAdapter</name> </csv-adapter>
Use a csv-mapper
element to handle incoming CSV data This element has the following child elements and no attributes.
The following example shows how to use the csv-mapper
element in a configuration file.
<rest-adapter> <name>httpInbound</name> <event-type-name>CallCenterActivity</event-type-name> <context-path>/testhttpadapter</context-path> </rest-adapter> <jaxb-mapper> <name>xmlMapperBean</name> <event-type-name>CallCenterActivity</event-type-name> <metadata>external_metadata_case1.xml</metadata> </jaxb-mapper> <csv-mapper> <name>csvMapperBean</name> <context-path>org.callcenter</context-path> <validate>false</validate> </csv-mapper>
Use the database
element to define a database reference for an Oracle CQL processor. This element has no child elements and the following attributes.
Table 4-1 Attributes of the database Component Configuration Element
|
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 the decision-function element to specify the name of the OBR decision function you want to use. This element has no child elements and no attributes.
The following example shows how to use the decision-function
element.
<processor> <name>helloworldProcessor</name> <rules> <query id="helloworldRule"> <!-- <![CDATA[ select * from helloworldInputChannel[range 10 slide 5] > --> select * from helloworldInputChannel[now] </query> </rules> </processor> <obr-adapter> <name>OBRAdapter</name> <dictionary-url>file:helloworld.rules</dictionary-url> <decision-function>handler1</decision-function> </obr-adapter>
Use the default-session
element when one or more session
elements are required. All of the session
tags by default inherit all of the elements declared in the default-session
tag.
The following example shows how to use default-session
in a configuration file.
<quickfix-adapter> <name>quickfixAdpater</name> <event-type>MyConfigEvent</event-type> <default-session description="default configuration"> ... <configuration description="identifier-message format"> <config-name>BeginString</config-name> <config-value>FIXT.0.1</config-value> </configuration> </default-session> <session description="ordertracker configuration"> <configuration description="identifier-acceptor"> <config-name>SenderCompID</config-name> <config-value>QA</config-value> </configuration> <configuration description="identifier-initiator"> <config-name>TargetCompID</config-name> <config-value>ORACLE</config-value> </configuration> </session> </quickfix-adapter>
Use the delivery-mode
element to define the delivery mode for a jms-adapter
. This element has no child elements and no attributes.
Valid delivery modes are the following:
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 the description
attribute to provide a description for a QuickFix adapter session
or configuration
element.
The following example shows how to use the description
element in a QuickFix adapter.
<quickfix-adapter> <name>quickfixAdpater</name> <event-type>MyConfigEvent</event-type> <default-session description="default configuration"> ... <configuration description="identifier-message format"> <config-name>BeginString</config-name> <config-value>FIXT.0.1</config-value> </configuration> </default-session> <session description="ordertracker configuration"> <configuration description="identifier-acceptor"> <config-name>SenderCompID</config-name> <config-value>QA</config-value> </configuration> <configuration description="identifier-initiator"> <config-name>TargetCompID</config-name> <config-value>ORACLE</config-value> </configuration> </session> </quickfix-adapter>
Use the destination-jndi-name
required element to define the JMS destination name for a jms-adapter
. This element has no child elements and no attributes.
Specify either the JNDI name or the actual destination-name
, but not both.
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 the destination-name
required element to define the JMS destination name for a jms-adapter
. This element has no child elements and no attributes.
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 the destination-type
element to define the JMS destination type for a jms-adapter
. This element has no child elements and no attributes.
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 the diagnostic-profiles
element to define one or more Oracle Stream Explorer diagnostic profiles. This element has the following child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
The following example shows how to use the diagnostics-profiles
element in the component configuration file. In the example, the channel's unique identifier is myDiagnosticProfiles
.
<diagnostics-profiles> <name>myDiagnosticProfiles</name> <profile> ... </profile> </diagnostics-profiles>
Use the dictionary-url element to specify the path to the OBR dictionary file that contains the rules and decision function you want to use. This element has no child elements and no attributes.
The following example shows how to use the dictionary-url
element.
<processor> <name>helloworldProcessor</name> <rules> <query id="helloworldRule"> <!-- <![CDATA[ select * from helloworldInputChannel[range 10 slide 5] > --> select * from helloworldInputChannel[now] </query> </rules> </processor> <obr-adapter> <name>OBRAdapter</name> <dictionary-url>file:helloworld.rules</dictionary-url> <decision-function>handler1</decision-function> </obr-adapter>
Use the direction
element to define the direction for a diagnostic profile end-location
or start-location
. This element has no child elements and no attributes.
Valid values are:
INBOUND
OUTBOUND
For more information, Using Visualizer for Oracle Stream Explorer.
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 the durable-subscription
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
.
This element has no child elements and no attributes.
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 the durable-subscription-name
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. This element has no child elements and no attributes.
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 following form where: HH
is a number of hours, MM
is a number of minutes, and SS
is a number of seconds.
HH:MM:SS
This element has no child elements and no attributes.
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>
The name of the requited EDL file that is loaded into an EDN adapter. The EDL file with the specified name must be packaged in an application bundle in the META-INF/wlevs/edn/
directory. This element has no child elements and no attributes.
The following example shows how to use the edl-file
element.
<edn-adapter> <name>ednOutboundAdapterJaxb</name> <edl-file>CallCenterEvents.edl</edl-file> <schema-file>callcenter.xsd</schema-file> <validate>true</validate> <package-name>org.callcenter</package-name> <raw-xml-content>false</raw-xml-content> <jndi-provider-url>vm://localhost</jndi-provider-url> <jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory </jndi-factory> <user>test1</user> <password>test123</password> <delivery-mode>nonpersistent</delivery-mode> </edn-adapter>
Use the edn-adapter
element to interface with an Oracle SOA Suite event network. Use an EDN inbound adapter to receive incoming data from the Oracle SOA Suite event network, and use an EDN outbound adapter to send outbound data to the Oracle SOA Suite event network.
This element has the following child elements and no attributes. The client-id
and durable-subscription-name
elements apply to the EDN input adapter only. The rest apply to both the input and output EDN adapters.
All the elements in the list except client-id
and durable-subscription-name
apply to both the input and output EDN adapters. The client-id
and durable-subscription-name
elements are unique to the input EDN adapter.
One of:
The following example shows an EDN inbound adapter configuration. The inbound EDN adapter loads an EDL file that contains the definition of the CallCenterActivityEvent
specified in the assembly file. The schema file is provided for schema validation. The package name is used for schema-generated JAXB classes. Raw XML content means that the EDN XML transmission is represented as ras XML. The JNDI provider and factory enable Oracle SOA Suite to locate the EDN.
<edn-adapter> <name>ednInboundAdapterJaxb</name> <edl-file>CallCenterEvents.edl</edl-file> <schema-file>callcenter.xsd</schema-file> <validate>true</validate> <package-name>org.callcenter</package-name> <raw-xml-content>false</raw-xml-content> <jndi-provider-url>vm://localhost</jndi-provider-url> <jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory </jndi-factory> <user>test1</user> <password>test123</password> </edn-adapter>
Use this element to define whether or not a diagnostic profile is enabled. This element has no elements and no attributes.
Valid values are:
true
false
For more information, see Using Visualizer for Oracle Stream Explorer.
<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>
The following example shows how to use the enabled
element in the component configuration file:
use the encrypted-password
element to create a password that is changed to another form to prevent hacking. This element has no child elements and no attributes.
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 Stream Explorer application is publishing requires user authentication.
jms-adapter
: When Oracle Stream Explorer acquires the JNDI InitialContext
, it uses the user
and password
(or encrypted-password
) elements. When Oracle Stream Explorer 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 Stream Explorer the user
and password
(or encrypted-password
) elements.
rmi-adapter: Use the encrypted-password
element to define an encrypted user password for RMI authentication to the Oracle WebLogic Server.
edn-adapter: Use the encrypted-password
element to define an encrypted user password for Oracle SOA Suite EDN or JMS authentication.
Note:
Use either encrypted-password
or password
but not both.
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 the end
element to define an end time for a time-range
or schedule-time-range
element. This element has no child elements and no attributes.
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 the end-location
element to define the end location of a average-latency
or max-latency
element in a diagnostic profile. This element has the following child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
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 the event-bean
element to define an event bean component. This element has the following child elements and no attributes.
The following example shows how to use the event-bean
element in the component configuration file. In the example, the channel's unique identifier is myEventBean
.
<event-bean> <name>myEventBean</name> </event-bean>
Use the event-interval
element on a CSV inbound adapter to specify the time in selected units between reading events. Possible units are nanoseconds, microseconds
, milliseconds
, and seconds
. This element has no child elements and no attributes.
The interval to wait between the events. Possible units are nanoseconds
, microseconds
, milliseconds
, and seconds
. For example, if the event interval is set to 1 second, then the CSV input adapter waits 1 second before processing every event. Note that the actual wait time will be slightly higher than the event interval because there is some associated overhead for thread handling. Therefore avoid very low event intervals.
The following code shows a CSV adapter with an event interval of 25 nanoseconds
and an initial delay of 40 seconds. Possible units are nanoseconds, microseconds
, milliseconds
, and seconds
.
<csv-adapter> <name>csv-inbound-adapter</name> <event-interval units="nanoseconds">25</event-interval> <initial-delay units="seconds">40</initial-delay> </csv-adapter>
Use the event-type
element to define the data contained in an event. This element has no child elements and no attributes.
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 Stream Explorer 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.
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 Stream Explorer 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.
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 the event-type-name
element to specify the name of an event type. An event type is a data structure that defines the data contained in an event.
The event-type-name
element has no children and no attributes. The following example shows how to use this element in a configuration file.
<rest-adapter> <name>httpInbound</name> <event-type-name>CallCenterActivity</event-type-name> <context-path>/testhttpadapter</context-path> </rest-adapter> <jaxb-mapper> <name>xmlMapperBean</name> <event-type-name>CallCenterActivity</event-type-name> <metadata>external_metadata_case1.xml</metadata> </jaxb-mapper> <csv-mapper> <name>csvMapperBean</name> <context-path>org.callcenter</context-path> <validate>false</validate> </csv-mapper>
Use the eviction-policy
element to define the eviction policy the cache uses when max-size
is reached. This element has no child elements and no attributes.
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 the fail-when-rejected
element to specify whether an exception of type com.bea.wlevs.ede.api.EventProcessingException
should be raised if the event queue is full when the offer time out 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 time out, see offer-timeout.
This element has no child elements and no attributes.
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 bindings (jms-adapter).
This element has the param child element and the group-id attribute. The group-id attribute is required, is type String
, and is the name of a cluster element that groups child elements.
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>
Use the heartbeat
element to define a new heartbeat time out for a system-time stamped channel
component. By default, the time out value is 100 milliseconds, which is 100,000,000 nanoseconds. This element has no child elements and no attributes. A heartbeat checks for the arrival of data on the channel every so many seconds
Oracle Stream Explorer generates a heartbeat on a system time stamped relation or stream channel when no data has arrived on the channel for more than the value for this setting.
The heartbeat child element applies to system-time stamped 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. In the example, the channel's unique identifier is MatchOutputChannel
.
<channel> <name>MatchOutputChannel</name> <max-size>0</max-size> <max-threads>0</max-threads> <selector>match</selector> <heartbeat>10000</heartbeat> </channel>
Use the http-pub-sub-adapter element to define an HTTP publish-subscribe server adapter component.
This element has the following child elements and no attributes.
One of:
One of:
The following example shows how to use the http-pub-sub-adapter
element in the component configuration file. In the example, the adapter's unique identifier is remotePub
.
<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 the idle-time
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. This element has no child elements and no attributes.
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 the initial-delay
element on an adapter to specify the time in nanoseconds before beginning to read events. The initial-delay
element has no children and no attributes.
The following code shows a CSV adapter with an event interval of 25 nanoseconds
and an initial delay of 40 seconds. Possible units are nanoseconds, microseconds
, milliseconds
, and seconds
.
<csv-adapter> <name>csv-inbound-adapter</name> <event-interval units="nanoseconds">25</event-interval> <initial-delay units="seconds">40</initial-delay> </csv-adapter>
Use the inject-parameters
element to configure event injection for a stage in the event processing network. This element has the following child elements and no attributes:
The component configuration excerpt shown in the following example illustrates 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>
The jaxb-mapper
element to handle incoming XML and JSON data This element has the following child elements and no attributes.
Child Elements
Example
The following example shows how to use the jaxb-mapper
element in a configuration file.
<rest-adapter> <name>httpInbound</name> <event-type-name>CallCenterActivity</event-type-name> <context-path>/testhttpadapter</context-path> </rest-adapter> <jaxb-mapper> <name>xmlMapperBean</name> <event-type-name>CallCenterActivity</event-type-name> <metadata>external_metadata_case1.xml</metadata> </jaxb-mapper> <csv-mapper> <name>csvMapperBean</name> <context-path>org.callcenter</context-path> <validate>false</validate> </csv-mapper>
Use the jms-adapter
element to define a JMS adapter component. This element has the following child elements and no attributes.
Chile Elements
One of:
One of:
One of:
Example
The following example shows how to use the jms-adapter
element in the component configuration file. In the example, the adapter's unique identifier is jmsInbound-text
.
<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 the optional jndi-factory
element to define a JNDI factory for a jms-adapter
or rmi-adapter. The default JNDI factory name value for Oracle Stream Explorer server JMS is weblogic.jndi.WLInitialContextFactory
.
This element has no child elements and no attributes.
The following example shows how to use the jndi-factory
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 the jndi-name
element to specify the Java Naming and Directory Interface (JNDI) name of the component your application needs to locate and access over a Remote Method Invocation (RMI) input or output adapter.
The following example shows how to use the jndi-name
element.
<rmi-adapter> <name>rmi-outbound-adapter</name> <jndi-name>RMIOutboundJNDIName</jndi-name> <jndi-provider-url>t3://localhost:7001</jndi-provider-url> <jndi-factory>weblogic.jndi.WLInitialContextFactory</jndi-factory> </rmi-adapter>
Use the jndi-provider-url
required element to define a JNDI provider URL for a jms-adapter
. This element has no child elements and no attributes.
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 the listeners
element to define the behavior for cache listeners. This element has the work-manager-name
child element and the asynchronous attribute.
The work-manager-name child element specifies the work manager to use to invoke listeners asynchronously. Oracle Stream Explorer ignores the work manager value when you enable synchronous invocations. If a work manager is specified for the cache itself, this value overrides it for invoking listeners only.
The asynchronous attribute is required, is type Boolean
, and when true
, executes listeners asynchronously. The default value is false
.
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 the location
element to define the location of a throughput
element in a diagnostic profile. This element has the following child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
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 the max-latency
element to define the maximum latency calculation of a diagnostic profile. This element has the following child elements and no attributes.
For more information, see the Using Visualizer for Oracle Stream Explorer.
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
: 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 and buffer 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
This element has no child elements and no attributes.
The following example shows how to use the max-size
element in the component configuration file:
<stream> <name>monitoring-control-stream</name> <max-size>10000</max-size> <max-threads>1</max-threads> </stream>
Use the max-threads
element to define the maximum number of threads that Oracle Stream Explorer server uses to process events for a channel
. This element has no child elements and no attributes.
The default value is 0. If the max-size
attribute is 0, then setting a value for max-threads
has no effect.
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. Setting this value has no effect when max-size
is 0.
The following example shows how to use the max-threads
element in the component configuration file:
<channel> <name>monitoring-control-stream</name> <max-size>10000</max-size> <max-threads>1</max-threads> </channel>
Use the message-selector
element with a JMS message selector to filter messages in a jms-adapter
. This element has no child elements and no attributes.
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 metadata
element to specify the name of the file that contains the JAXB Boxy external metadata for customizing the JAXB mapping. This element is optional and has no child elements and no attributes.
The following example shows how to use the metadata element in a configuration file.
<rest-adapter> <name>httpInbound</name> <event-type-name>CallCenterActivity</event-type-name> <context-path>/testhttpadapter</context-path> </rest-adapter> <jaxb-mapper> <name>xmlMapperBean</name> <event-type-name>CallCenterActivity</event-type-name> <metadata>external_metadata_case1.xml</metadata> </jaxb-mapper> <csv-mapper> <name>csvMapperBean</name> <context-path>org.callcenter</context-path> <validate>false</validate> </csv-mapper>
The name of the element. Use the name
element in the following parent elements:
EPN components: Use the name
element to associate this application configuration element with its corresponding element in the assembly file. Valid value is the corresponding assembly file 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 and value pair.
This element has no child elements and no attributes.
The following example shows how to use the name
element in the component configuration file. In the example, the channel's unique identifier is myDiagnosticProfiles
.
<diagnostics-profiles> <name>myDiagnosticProfiles</name> <profile> ... </profile> </diagnostics-profiles>
Use the netio
element to define a network input/output port for a component.
Note:
When a child of the adapter
element, this element is for internal use only.
This element has the following child elements and no attributes.
The following example shows how to use the netio
element in the component configuration file:
<netio> <provider-name>providerCache</provider-name> <num-threads>1000</num-threads> </netio>
Use the num-threads
element to define the number of threads in a network input/output port for a component. This element has no child elements and no attributes.
The following example shows how to use the num-threads
element in the component configuration file:
<netio> <provider-name>providerCache</provider-name> <num-threads>1000</num-threads> </netio>
Use an obr-adapter
adapter to treat events as Java code so that you can evaluate Oracle Business Rules (OBR) and trigger events based on the findings. With an OBR adapter, you can add OBR logic to a CQL processor downstream.
This element has the following child elements and no attributes.
The following example shows an OBR adapter configuration.
<processor> <name>helloworldProcessor</name> <rules> <query id="helloworldRule"> <!-- <![CDATA[ select * from helloworldInputChannel[range 10 slide 5] > --> select * from helloworldInputChannel[now] </query> </rules> </processor> <obr-adapter> <name>OBRAdapter</name> <dictionary-url>file:helloworld.rules</dictionary-url> <decision-function>handler1</decision-function> </obr-adapter>
Use the offer-timeout
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.
This element has no child elements and no attributes.
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 output-file
entry to specify where a CSV Outbound adapter saves the outbound event data. This element has no child elements or attributes.
You can use the append element to specify whether to create a new file, overwrite an existing file, or append to an existing file.
The following example shows the assembly file entry for StockTradeCSVOutboundAdapter.
<wlevs:adapter id="StockTradeCSVOutboundAdapter" provider="csv-outbound"> <wlevs:instance-property name="eventType" value="TradeEvent"/> <wlevs:instance-property name="outputFile" value="/scratch/mpawlan/oep9-19/oep/utils/load-generator/StockData.csv"/> <wlevs:instance-property name="append" value="false"/> </wlevs:adapter>
The optional package name of the schema-generated classes for JAXB. When set, the specified package name overrides the package name inferred from the EDL file. This element has no child elements and no attributes.
The following example shows how to use the package-name
element.
<edn-adapter> <name>ednOutboundAdapterJaxb</name> <edl-file>CallCenterEvents.edl</edl-file> <schema-file>callcenter.xsd</schema-file> <validate>true</validate> <package-name>org.callcenter</package-name> <raw-xml-content>false</raw-xml-content> <jndi-provider-url>vm://localhost</jndi-provider-url> <jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory </jndi-factory> <user>test1</user> <password>test123</password> <delivery-mode>nonpersistent</delivery-mode> </edn-adapter>
Use the param
element to associate a message selector value with the parameter name specified in the message-selector
element. This element has no child elements and the id
attribute. The id attribute is required, is type String
, and identifies the value to pass to the message-selector
element.
For more information, see bindings (jms-adapter).
The following example shows how to use the param
element in the component configuration file. When an application with this configuration is deployed to an Oracle Stream Explorer server with a cluster
element groups
child element that contains ActiveActiveGroupBean_group1
, the CONDITION
parameter is acctid > 400.
The application processes events with an acctid
property that is greater than 400.
<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>
Use the parameter
element to define a name
and value
parameter for a component. This element has the following child elements and no attributes.
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 the params
element to define the parameters for a bindings (processor)
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 Oracle CQL rule associated with this binding
.
This element has no child elements and the id
attribute. The id
attribute is not required, is type String
, and is the unique identifier for the params
element.
For more information, see Oracle CQL Language Reference for Oracle Stream Explorer.
The following example shows how to use the params
element in the component configuration file:
<processor> <name>processor1</name> <record-parameters> <dataset-name>test1data</dataset-name> <event-type-list> <event-type>SimpleEvent</event-type> </event-type-list> <provider-name>test-rdbms-provider</provider-name> <batch-size>1</batch-size> <batch-time-out>10</batch-time-out> </record-parameters> <rules> <rule id="rule1"><![CDATA[ select stockSymbol, avg(price) as percentage from StockTick retain 5 events where stockSymbol=? having avg(price) > ? or avg(price) < ? ></rule> </rules> <bindings> <binding id="rule1"> <params>BEAS,10.0,-10.0</params> <params id="IBM">IBM,5.0,5.0</params> </binding> </bindings> </processor>
Use the partition-order-capacity
element to define the maximum capacity of a query partition when the ordering-constraint attribute is set to PARTITION_ORDERED. This element has no child elements and no attributes.
Set the partition-order-capacity
element on a channel
component when you have configured a CQL processor for parallel execution and the ordering-constraint
attribute is set to PARTITION_ORDERED.
To have the capacity value apply at a larger scope, you can set it in the server configuration file. See Component Configuration Schema.
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 to define a password in the following parent elements. This element has no child elements and no attributes.
http-pub-sub-adapter
: Use the password
element to define the user password if the HTTP pub-sub server to which the Oracle Stream Explorer application is publishing requires user authentication.
jms-adapter
: When Oracle Stream Explorer acquires the JNDI InitialContext
, it uses the user
and password
(or encrypted-password
) elements. When Oracle Stream Explorer 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 Stream Explorer the user
and password
(or encrypted-password
) elements.
rmi-adapter: Use the password
element to define the user password for RMI authentication to the Oracle WebLogic Server.
edn-adapter: Use the password
element to define the user password for Oracle SOA Suite EDN or JMS authentication.
Note:
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 the playback-parameters
element to define event playback parameters for a component to test a component. You play the events back at a later stage in the application such as in an event bean. In the event bean, you query the events and make fixes to your application based on your findings This element has the following child elements and no attributes.
One of:
One of:
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 the priority element to set the JMS priority for events published to the EDN. The JMS API defines ten levels of priority value with 0 the lowest priority and 9 the highest. Clients should consider priorities 0-4 as gradations of normal priority and priorities 5-9 as gradations of expedited priority. Priority is set to 4 by default.This element has not child elements and no attributes.
<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> <priority>2</priority> <concurrent-consumers>1</concurrent-consumers> <session-transacted>false</session-transacted> </jms-adapter>
Use the processor
element to define an Oracle CQL processor component. This element has the following child elements and no attributes.
The following example shows how to use the processor
element in the component configuration file. In the example, the unique identifier of the processor is cqlProcessor
.
<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>
Use the profile
element to define a diagnostic profile. This element has the following child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
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 query
element to define an Oracle CQL query for a component. This element has no child elements and the following attributes.
Table 4-2 Attributes of the query Component Configuration Element
|
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 the quickfix-adapter
element to define a Quick Fix adapter. A Quick Fix adapter is a full-featured messaging engine for handling the real-time electronic exchange of securities transactions. This element has the following child elements and no attributes.
The following configuration file shows a quickfix adapter.
<quickfix-adapter> <name>quickfixAdpater</name> <event-type>MyConfigEvent</event-type> <default-session description="default configuration"> ... <configuration description="identifier-message format"> <config-name>BeginString</config-name> <config-value>FIXT.0.1</config-value> </configuration> </default-session> <session description="ordertracker configuration"> <configuration description="identifier-acceptor"> <config-name>SenderCompID</config-name> <config-value>QA</config-value> </configuration> <configuration description="identifier-initiator"> <config-name>TargetCompID</config-name> <config-value>ORACLE</config-value> </configuration> </session> </quickfix-adapter>
Use the raw-xml-content element to specify whether the EDN XML data transmission should be represented as raw XML (when true
) or as a Java object (when false
). The default is false
. This element has no child elements and no attributes.
The following example shows how to use the raw-xml-content
element.
<edn-adapter> <name>ednOutboundAdapterJaxb</name> <edl-file>CallCenterEvents.edl</edl-file> <schema-file>callcenter.xsd</schema-file> <validate>true</validate> <package-name>org.callcenter</package-name> <raw-xml-content>false</raw-xml-content> <jndi-provider-url>vm://localhost</jndi-provider-url> <jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory </jndi-factory> <user>test1</user> <password>test123</password> <delivery-mode>nonpersistent</delivery-mode> </edn-adapter>
Use the record-parameters
element to define event record parameters to test a component. While the application runs, you record the events that flow out of an EPN component into a persistent store. This element has the following child elements and no attributes.
One of:
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 the repeat
element to define whether or not to repeat playback-parameters. This element has no child elements and no attributes.
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 the rest-adapter
element to define a Representational State Transfer (REST) adapter that receives HTTP Post data from an external client through the REST protocol. A REST adapter can accept data in the following forms and convert that data into the Oracle Stream Explorer event configured on the inbound REST adapter: XML, CSV, and JavaScript Object Notation (JSON).
This element has the following child elements and no attributes.
The following example file shows the rest-adapter
configuration for receiving POST data, the jaxb-mapper
configuration for handling incoming XML and JSON data, and the csv-mapper
configuration for handling incoming CSV data.
<rest-adapter> <name>httpInbound</name> <event-type-name>CallCenterActivity</event-type-name> <context-path>/testhttpadapter</context-path> </rest-adapter> <jaxb-mapper> <name>xmlMapperBean</name> <event-type-name>CallCenterActivity</event-type-name> <metadata>external_metadata_case1.xml</metadata> </jaxb-mapper> <csv-mapper> <name>csvMapperBean</name> <context-path>org.callcenter</context-path> <validate>false</validate> </csv-mapper>
Use the rest-outbound-adapter
element to define a REST adapter that sends HTTP SEND data to an external client through the REST protocol.
Use the rmi-adapter element to define an RMI outbound adapter. An RMI outbound adapter writes event information to an RMI connection. This element has the following child elements and no attributes.
The following example shows an RMI outbound adapter configuration.
<rmi-adapter> <name>rmi-outbound-adapter</name> <jndi-name>RMIOutboundJNDIName</jndi-name> <jndi-provider-url>t3://localhost:7001</jndi-provider-url> <jndi-factory>weblogic.jndi.WLInitialContextFactory</jndi-factory> </rmi-adapter>
Use this element to create rules for an Oracle CQL processor (Oracle CQL)
. This element has the following child elements and no attributes.
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 the schema
element to specify a space-delimited list of stream elements to use in the view. The schema
element has no child elements and no attributes.
The following example shows how to use the schema element in an Oracle CQL rule.
<processor> <name>cqlProcessor</name> <rules> <view id="lastEvents" schema="cusip bid ask"><![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>
Use the schema-file
element to specify the name of the schema file for validation. The schema
element is required when the validate
element is set to true
. The schema-file
element has no child elements and no attributes.
The following example shows how to use the schema-file
element in a configuration file.
<edn-adapter> <name>ednInboundAdapterJaxb</name> <edl-file>CallCenterEvents.edl</edl-file> <schema-file>callcenter.xsd</schema-file> <validate>true</validate> <package-name>org.callcenter</package-name> <raw-xml-content>false</raw-xml-content> <jndi-provider-url>vm://localhost</jndi-provider-url> <jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory </jndi-factory> <user>test1</user> <password>test123</password> </edn-adapter>
Use the selector
element to specify which upstream Oracle CQL processor queries are permitted to send their results to a downstream channel
. This element has no child elements and no attributes.
Concepts
The figure shows an EPN with filteredStream
channel connected to the upstream filteredFanoutProcessor
Oracle CQL processor.
The following queries are configured for the filteredFanoutProcesso Oracle CQL processor.
<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>
When you specify more than one query for an Oracle CQL processor, then, by default, all query results are sent to the processor's out-bound channel (filteredStream
). 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 can send their results to the channel as shows in the following example. In the example, the query results for query Yr3Sector
and Yr2Sector
are sent to filteredStream
but the query results for query Yr1Sector
are not.
<channel> <name>filteredStream</name> <selector>Yr3Sector Yr2Sector</selector> </channel>
You may configure a channel
element with a selector
before creating the queries in the upstream processor. In this case, you must specify query names that match the names in the selector
.
Note:
The selector
attribute is only applicable if the up-stream stage is an Oracle CQL processor.
Example
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>
Use the server-context-path
required element to specify the path to the server for every local http-pub-sub-adapter for publishing. The default value is /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 the server-context-path
element for a remote HTTP pub-sub adapter.
This element has no child elements and no attributes.
The following example shows how to use the server-context-path
element in the component configuration file:
<http-pub-sub-adapter> <name>localPub</name> <server-context-path>/pubsub</server-context-path> <channel>/test1</channel> </http-pub-sub-adapter>
Use the server-url
required element specifies the path to the server for every remote http-pub-sub-adapter for publishing or subscribing. The remote HTTP pub-sub server could be another instance of Oracle Stream Explorer, 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 the server-url
element option for a local HTTP pub-sub adapter.
This element has no child elements and no attributes.
The following example shows how to use the server-url
element in the component configuration file. 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
.
<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>
Use the session
tag to represent a group of configuration settings to use for a particular QuickFix adapter session
. If more than one session are required, then group common configurations in the default-session
element. All of the session
tags by default inherit all of the elements declared in the default-session
tag.
The following example shows how to use the session
element in a configuration file.
<quickfix-adapter> <name>quickfixAdpater</name> <event-type>MyConfigEvent</event-type> <default-session description="default configuration"> ... <configuration description="identifier-message format"> <config-name>BeginString</config-name> <config-value>FIXT.0.1</config-value> </configuration> </default-session> <session description="ordertracker configuration"> <configuration description="identifier-acceptor"> <config-name>SenderCompID</config-name> <config-value>QA</config-value> </configuration> <configuration description="identifier-initiator"> <config-name>TargetCompID</config-name> <config-value>ORACLE</config-value> </configuration> </session> </quickfix-adapter>
Use the session-ack-mode-name
to define the session acknowledge mode name for a jms-adapter. This element has no child elements and no attributes.
Valid values from javax.jms.Session
are the following. The default value is AUTO_ACKNOWLEDGE
.
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.
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
. This element has no child elements and no attributes.
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 the source-url
entry to specify where a CSV Inbound adapter can find file that contains the inbound event data. This element has no child elements or attributes.
The following example shows the assembly file entry for StockTradeCSVInboundAdapter.
<wlevs:adapter id="StockTradeCSVInboundAdapter" provider="csv-inbound"> <wlevs:listener ref="AdapterOutputChannel"/> <wlevs:instance-property name="eventType" value="TradeEvent"/> <wlevs:instance-property name="sourceUrl" value="file:////scratch/mpawlan/oep9-19/oep/utils/load-generator/StockData.csv"/> </wlevs:adapter>
Use the stage
element to define the stage for a start-location
or end-location
element of a diagnostic profile. A valid value is 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 the start
element to define a start time for a time-range
, time-range-offset
, or schedule-time-range-offset
element. This element has no child elements and no attributes.
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 the start-location
element to define the start location of a diagnostic profile. This element has the following child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
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 the start-stage
element to define the starting stage of a diagnostic profile. This element has no child elements and no attributes.
A valid value is the name of an existing stage in your Event Processing Network (EPN). For more information, see Using Visualizer for Oracle Stream Explorer.
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 the threshold
element to define the threshold above which the Oracle Stream Explorer server logs a monitoring event. This element is applicable only in an average-latency
element in a diagnostic profile.
This element has the following child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
The following example shows how to use the threshold
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 the throughput
element to define a throughput diagnostic profile.
For more information, see Using Visualizer for Oracle Stream Explorer.
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 the throughput-interval
element to define the throughput interval of a diagnostic profile. This element has the following child elements and no attributes.
For more information, see Using Visualizer for Oracle Stream Explorer.
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 the time-to-live
element to define the maximum amount of time in milliseconds that an entry is cached. The default value is infinite
. This element has no child elements and no attributes.
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 the trace-parameters
element to configure event tracing for a stage in the event processing network. This element has the following child elements and no attributes.
The component configuration excerpt shown in the following example illustrates 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 the unit
element to define the duration units for the amount
element. This element has no child elements and no attributes.
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 of the HTTP pub-sub server to which the Oracle Stream Explorer application is publishing requires user authentication.
jms-adapter: When Oracle Stream Explorer acquires the JNDI InitialContext
, it uses the user and password
(or encrypted-password
) elements. When Oracle Stream Explorer 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 Stream Explorer uses the user
and password
(or encrypted-password
) elements.
rmi-adapter: Use the user
element for RMI authentication to the Oracle WebLogic Server.
edn-adapter: Use the user
element for Oracle SOA Suite EDN or JMS authentication.
This element has no child elements and no attributes.
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 the validate
element to perform schema validation during JAXB marshalling and unmarshalling. Set to true
to enable validation, and set to false
to disable validation.
The validate
element has no child elements and no attributes.
The following example shows how to use the validate element in a configuration file.
<edn-adapter> <name>ednInboundAdapterJaxb</name> <edl-file>CallCenterEvents.edl</edl-file> <schema-file>callcenter.xsd</schema-file> <validate>true</validate> <package-name>org.callcenter</package-name> <raw-xml-content>false</raw-xml-content> <jndi-provider-url>vm://localhost</jndi-provider-url> <jndi-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory </jndi-factory> <user>test1</user> <password>test123</password> </edn-adapter>
Use the value
element to define the value of a parameter
element. This element has no child elements and no attributes.
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 the view
element to define an Oracle CQL view for a component. This element has no child elements and the following attributes.
Table 4-3 Attributes of the view Component Configuration Element
|
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 the work-manager
element to define the name of a work manager for a jms-adapter
. The element has no child elements and no attributes.
Valid value is the name specified in the Oracle Stream Explorer server 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
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 the work-manager-name element to define a work manager for a cache
. This element has no child elements and no attributes.
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 Stream Explorer server 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 the write-behind
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.
This element has the following child elements and no attributes.
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 the write-none
element to specify no writes to a cache store. No writes is the default write policy. You can change this element dynamically. This element has no child elements and no attributes.
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 the write-through element to specify synchronous writes to the cache store. As soon as an entry is created or updated the write occurs. You can change this element dynamically.
This element has no child elements and no attributes.
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>