JMS input message header and property data
The JMSInput node obtains header and property data from JMS messages.
Header data
getJMSTimestamp(
)
method. A similar method is provided for each of the following
fixed header fields:- JMSDestination
- JMSDeliveryMode
- JMSExpiration
- JMSPriority
- JMSTimeStamp
- JMSMessageID
- JMSCorrelationID
- JMSReplyTo
- JMSType
- JMSRedelivered
Property data
In a similar way to how the header data is obtained, the JMSInput node extracts property data from messages by using JMS API methods. Property data is stored as name-value pairs in the properties folders. The API method returns a value for every property name with which it is supplied.
XML representation of header and property data
The JMSInput node uses the header and property data to create an XML representation of the JMSTransport folders. The node passes the XML data to the JMSTransport parser as a byte array. The byte array is then used to populate or to refresh the elements in the message tree.
Preservation of Java type
A scheme is not required to preserve knowledge of the Java™ type because the header value Java types are fixed and known. The JMS message properties are optional, therefore a scheme is required to preserve the Java type of the property values. The scheme used is that which is implemented by the IBM® MQ JMS client and the Real-timeInput node.
dt='DataType'
where Datatype is
a string. The Java type is passed
in the XML as part of the element name <ElementName dt='DataType'>Value</ElementName>
. Datatype can
be any of the following values:
Datatype value | Definition |
---|---|
String | Any sequence of characters, excluding < and & |
Boolean | The character 0 or 1 ,
where 1 is equal to "true" |
bin.hex | Hexadecimal digits representing octets |
I1 | A number, expressed by using the digits 0..9,
with optional sign (no fractions or exponent). The value must lie in the range -128 to 127 inclusive. |
I2 | A number, expressed by using the digits 0..9,
with optional sign (no fractions or exponent). The value must lie in the range -32768 to 32767 inclusive. |
I4 | A number, expressed by using the digits 0..9,
with optional sign (no fractions or exponent). The value must lie in the range -2147483648 to 2147483647 inclusive. |
I8 | A number, expressed by using the digits 0..9,
with optional sign (no fractions or exponent). The value must lie in the range -9223372036854775808 to 92233720368547750807 inclusive. |
int | A number, expressed by using the digits 0..9,
with optional sign (no fractions or exponent). The value must lie
in the same range as the datatype value This
number can be used in place of one of the |
R4 | A floating point number, expressed by using
the digits 0..9, optional sign, optional fractional digits, optional
exponent. Magnitude <= 3.40282347E+38, and>= 1.175E-37 |
R8 | A floating point number, expressed by using
the digits 0..9, optional sign, optional fractional digits, optional
exponent. Magnitude <= 1.7976931348623E+308, and>= 2.225E-307 |