Deploying and Managing Apama Applications > Correlator-Integrated Messaging for JMS > JUEL Mapping Expressions Reference
JUEL Mapping Expressions Reference
The expressions that can be used to get or set elements of a JMS message are listed below, along with the set of Apama field types that are recommended for use when mapping when sending or receiving JMS messages:
JMS message element
JMS EL expression
Compatible Apama field type(s) when sending
Compatible Apama field type(s) when receiving
Dictionary of all message headers
jms.headers
dictionary<string, string>
dictionary<string, string>
JMSDestination
jms.header[​'JMSDestination']
string (with jndi:/topic:/queue: prefix)
string (with topic:/queue: prefix)
JMSReplyTo
jms.header[​'JMSReplyTo']
string (with jndi:/topic:/queue: prefix)
string (with topic:/queue: prefix)
JMSCorrelationID
jms.header[​'JMSCorrelationID']
string
string
JMSType
jms.header[​'JMSType']
string
string
JMSPriority
jms.header[​'JMSPriority']
integer, string
integer, string
JMSDeliveryMode
jms.header[​'JMSDeliveryMode']
integer, string (must be a number (though display string can be used (only) when mapping a constant value in tooling); 1=NON_PERSISTENT, 2=PERSISTENT)
integer, string
JMSTimeToLive
jms.header[​'JMSExpiration'] (* will be changed to JMSTimeToLive in future version)
integer, string (in milliseconds from the time JMS sends the message)
N/A when receiving
JMSExpiration
jms.header[​'JMSExpiration']
N/A when sending
integer, string (in milliseconds since the epoch)
JMSMessageID
jms.header[​'JMSMessageID']
N/A when sending
boolean, string
JMSTimestamp
jms.header[​'JMSTimestamp']
N/A when sending
integer, string (in milliseconds since the epoch)
JMSRedelivered
jms.header[​'JMSRedelivered']
N/A when sending
string
Dictionary of all message properties
jms.properties
dictionary<string, string>
dictionary<string, string>
String Message Property
jms.property[​'propName']
string
string
Boolean Message Property
jms.property[​'propName']
boolean
boolean, string
Long Message Property
jms.property[​'propName']
integer
integer, string
Double Message Property
jms.property[​'propName']
float
float, string
Byte Message Property
jms.property[​'propName']
Not supported
string
Short Message Property
jms.property[​'propName']
Not supported
string
Integer Message Property
jms.property[​'propName']
Not supported
string
Float Message Property
jms.property[​'propName']
Not supported
string
JMSX Property
jms.xproperty[​'propName']
same as other properties
same as other properties
Dictionary of all JMSX properties
jms.xproperties
dictionary<string, string>
dictionary<string, string>
TextMessage Body
jms.body.textmessage
string, event [1]
string, event [1]
MapMessage Body
jms.body.mapmessage
dictionary<string, string>
dictionary<string, string>
MapMessage Body Entry
jms.body.mapmessage[​'mapKey']
string
string
ObjectMessage Body with a serializable java.util.Map <Object,Object>
jms.body. objectmessage
dictionary<string, string>
dictionary<string, string>
ObjectMessage Body with a serializable java.util.List <Object>
jms.body. objectmessage
sequence<string>
sequence<string>
ObjectMessage Body with any serializable Object
jms.body. objectmessage
N/A
string
BytesMessage Body
jms.body.bytesmessage
string, sequence<string>, dictionary<string, string>, event
string, sequence<string>, dictionary<string, string>
TextMessage, MapMessage, BytesMessage, ObjectMessage, Message
jms.body.type
string
string
[1] If a string from the JMS message is mapped to an event, the string should be either of:
*An Apama event string (as generated by the Apama Event Parser), whose event type matches the type of the field it is being mapped to in the source/target Apama event.
*An XML document starting with a < character, whose structure matches what is implied by the event type definition it is being mapped to (see Convention-based XML mapping for more information)
Note, the JMS headers JMSMessageID, JMSRedelivered and JMSDeliveryMode are supported for completeness but will not normally be required by Apama applications, since built-in duplicate detection based on application-level unique identifiers replaces the first two, and rather than overriding the per-message delivery mode it is usually best to use the default PERSISTENT/NON_PERSISTENT setting implied by the sender's senderReliability value.
Copyright © Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its Subsidiaries and or/its Affiliates and/or their licensors.
Use, reproduction, transfer, publication or disclosure is prohibited except as specifically provided for in your License Agreement with Software AG.