IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

JMS input message header and property data

The JMSInput node obtains header and property data from JMS messages.

Header data

The JMSInput node extracts header data from messages by using JMS API methods. Header data is stored as name-value pairs in the Header_Values folder. The API methods return the value; for example, to get the value for the header field JMSTimestamp, the JMSInput node uses the 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 WebSphere® MQ JMS client and the Real-timeInput node.

Java type information is represented as a metadata in the form of a keyword 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 valueI8.

This number can be used in place of one of the I* types if the sender does not want to associate a particular precision with the property.

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


ac24867_.htm | Last updated Friday, 21 July 2017