Database Reference
In-Depth Information
So, what do we solve here? The scalability problem, of course. Secondly, the ability to re-
cord, store, and replay (aggregate and correlate) is the cornerstone for truly parallel and
distributed processing. That's all fine, some can say, but as long we are dealing with event
notification messages, why not use the traditional JMS instead? Indeed, JMS is one of the
sources/adapters in Oracle EPN and can be configured in quite a traditional way within
the wlevs config file (EPN config.xml ) for multiple consumers (20 in the following
example for a Voyage cargo-handling event):
<?xml version="1.0" encoding="UTF-8"?>
<wlevs:config xmlns:wlevs="http://www.bea.com/ns/wlevs/
config/application">
<jms-adapter>
<name>cargoBooking2VoyageJMSAdapter</name>
<event-type> cargoBooking </event-type>
<jndi-provider-url>t3://localhost:7001</jndi-provider-url>
<connection-jndi-name>jmsConnectionFactory</connection-jndi-name>
<destination-jndi-name>distributedQueue</destination-jndi-name>
<session-transacted>true</session-transacted>
<concurrent-consumers>20</concurrent-consumers>
</jms-adapter>
</wlevs:config>
Several points must be kept in mind when employing the JMS queue for the discussed
solution.
Apparently, message sequencing is our concern, as we cannot guarantee the correct se-
quence of events, especially in the multiconsumer queue. Of course, the CQL
MATCH_RECOGNIZE pattern construct is directly responsible for recognizing the se-
quence of consecutive events (or tuples) in the input stream. We have demonstrated it in
the CQL statement described previously and links to the documentation are also available.
Also, Oracle CEP provides several ways to configure JMS adapters (both inbound and
outbound). For instance, the inbound JMS adapter receives map messages from a JMS
queue and automatically converts them into events by matching the property names with a
specified event type. We can optionally customize this conversion by writing our own
Java class to specify exactly how we want the incoming JMS messages to be converted in-
to one or more event types. We will talk about event partitioning a bit later.
Search WWH ::




Custom Search