This topic describes the properties of an XMS message and introduces the three kinds of property supported by XMS: JMS defined properties, IBM defined properties, and application defined properties.
This is the name by which the property is known in JMS or WebSphere JMS, and is also the name that is transmitted with a message that has this property. An XMS application uses this name to identify the property in a message selector expression.
An XMS application uses this name to identify the property in all situations except in a message selector expression. Each XMS name is defined as a named constant in one of the header files, xmsc.h, xmsc_rtt.h, xmsc_wmq.h, or xmsc_wpm.h. The value of the named constant is the corresponding JMS or WebSphere JMS name.
In addition to the predefined properties, an XMS application can create and use its own set of message properties. These properties are called application defined properties.
For information about getting and setting the properties of messages, see Getting and setting properties in C or Getting and setting properties in C++.
After an application creates a message, the properties of the message are readable and writable. The properties remain readable and writable after the application sends the message. When an application receives a message, the properties of the message are read-only. If an application calls the Clear Properties method of the Message class when the properties of a message are read-only, the properties become readable and writable. The method also clears the properties.
To determine the values of all the properties of a message, an application can call the Get Properties method of the Message class. The method creates an iterator that encapsulates a list of Property objects, where each Property object represents a property of the message. The application can then use the methods of the Iterator class to retrieve each Property object in turn, and use the methods of the Property class to retrieve the name, data type, and value of each property. For a sample fragment of C code that performs a similar function, see Iterators.