Loading Data from a JMS Source Integrating Data in a JMS Target

24-10 Oracle® Fusion Middleware Connectivity and Knowledge Modules Guide for Oracle Data Integrator Table 24–4 lists the optional JMS-defined properties in the JMS standard. 1: The UTC Universal Time Coordinated standard is the number of milliseconds that have elapsed since January 1st, 1970

24.7.1 Using JMS Properties

In addition to their contents, messages have a set of properties attached to them. These may be provider-specific, application-specific user defined or JMS Standard Properties . JMS properties are used in Oracle Data Integrator as complementary information to the message, and are used, for example, to filter the messages. JMSType JMS String RW set by IKM option Message type label. This type is a string value describing the message in a functional manner for example SalesEvent, SupportProblem. To set this property the JMSTYPE KM option must be used. Table 24–4 Standard JMS Properties of Message Headers Property JMS Type Access ReadWrite Description JMSXUserID JMS String R Client User ID. JMSXAppID JMS String R Client Application ID. JMSSXProducerTXI D JMS String R Transaction ID for the production session. This ID is the same for all the messages sent to a destination by a producer between two JMS commit operations. JMSSXConsumerTX ID JMS String R Transaction ID for current consumption session. This ID is the same of a batch of message read from a destination by a consumer between two JMS commit read operations. JMSXRcvTimestam p JMS Long R Message reception date and time. This time is stored in a UTC standard format 1. JMSXDeliveryCoun t JMS Int R Number of times a message is received. Always set to 1. JMSXState JMS Int R Message state. Always set to 2 Ready. JMSXGroupID JMS String RW ID of the group to which the message belongs. JMSXGroupSeq JMS Int RW Sequence number of the message in the group of messages. Table 24–3 Cont. Standard JMS Properties of Message Headers Property JMS Type Access ReadWrite Description JMS 24-11

24.7.1.1 Declaring JMS Properties

When Defining the JMS Datastores , you must append pseudo-columns corresponding to the JMS properties that you want to use in your interfaces. See Declaring JMS Properties as Pseudo-Columns for more information.

24.7.1.2 Filtering on the Router

With this type of filtering, the filter is specified when sending the JMS read query. Only messages matching the message selector filter are retrieved. The message selector is specified in Oracle Data Integrator using the MESSAGE_SELECTOR KM option The MESSAGE_SELECTOR is programmed in an SQL WHERE syntax. Comparison, boolean and mathematical operators are supported: +, -, , , =, , , , =, =, OR, AND, BETWEEN, IN, NOT, LIKE, IS NULL. Examples Filter all messages with priority greater than 5 JMSPriority 5 Filter all messages with priority not less than 6 and with the type Sales_Event. NOT JMSPriority 6 AND JMSType = Sales_Event

24.7.1.3 Filtering on the Client

Filtering is performed after receiving the messages, and is setup by creating a standard Oracle Data Integrator interface filter which must be executed on the staging area. A filter uses pseudo-columns from the source JMS datastore. The pseudo-columns defined in the Oracle Data Integrator datastore represent the JMS properties. See Declaring JMS Properties as Pseudo-Columns for more information. Note that messages filtered this way are considered as consumed from the queue or topic.

24.7.1.4 Using Property Values as Source Data

It is possible to use the values of JMS properties as source data in an interface. This is carried out by specifying the pseudo-columns of the source JMS datastore in the mapping. See Declaring JMS Properties as Pseudo-Columns for more information. Note: Router filtering is not a JMS mandatory feature. It may be unavailable. Please confirm that it is available by reviewing the JMS provider documentation. Notes: ■ The IS NULL clause handles properties with an empty value but does not handle nonexistent application-specific properties. For example, if the selector COLOR IS NULL is defined, a message with the application-specific property COLOR specified with an empty value is consumed correctly. Another message in the same topicqueue without this property specified would raise an exception. 24-12 Oracle® Fusion Middleware Connectivity and Knowledge Modules Guide for Oracle Data Integrator

24.7.1.5 Setting Properties when Sending a Message

When sending messages it is possible to specify JMS properties by mapping values of the pseudo-columns in an interface targeting a JMS datastore. Certain properties may be set using KM options. See Section 24.7, JMS Standard Properties