MQGMO_PROPERTIES_AS_Q_DEF |
Applications prior to Version 7.0, and Version 9.2 applications that read from the same queue, and do not set GMO_PROPERTIES_*, receive the message properties differently. Applications prior to Version 7.0, and Version 9.2 applications that do not create a message handle, are controlled by the queue PROPCTL attribute. A Version 9.2 application can choose to receive message properties in the MQRFH2, or create a message handle and query the message properties. If the application creates a message handle, properties are removed from the MQRFH2.
- An unmodified application prior to Version 7.0 does not set GMO_PROPERTIES_*. Any message properties it receives are in the MQRFH2 headers.
- A new or changed Version 9.2 application that does not set GMO_PROPERTIES_* or sets it to MQGMO_PROPERTIES_AS_Q_DEF can choose to query message properties. It must set MQCRTMH to create a message handle and query message properties using the MQINQMP MQI call.
- If a new or changed application does not create a message handle, it behaves like an application prior to Version 7.0. It must read any message properties it receives directly from the MQRFH2 headers.
- If the queue attribute PROPCTL is set to FORCE, no properties are returned in the message handle. All properties are returned in MQRFH2 headers.
- If the queue attribute PROPCTL is set to NONE, or COMPAT, a Version 9.2 application that creates a message handle, receives all message properties.
- If the queue attribute PROPCTL is set to V6COMPAT, and also set to V6COMPAT on all the queues the message was placed on between the sender and the receiver, properties set by MQSETMP are returned in the message handle, and properties and name-value pairs created in an MQRFH2 are returned in the MQRFH2. The format of an MQRFH2 sent in Version 9.2 is the same as an application prior to Version 7.0, when sent by the same application.
|
MQGMO_PROPERTIES_IN_HANDLE |
Force an application to use message properties. Use this option to detect if a modified application fails to create message handle. The application might be trying to read message properties directly from an MQRFH2, rather than call MQINQMP.
|
MQGMO_NO_PROPERTIES |
An application prior to Version 7.0 and a Version 9.2 application behave the same way, even if the Version 9.2 application creates a message handle.
|
MQGMO_PROPERTIES_FORCE_MQRFH2 |
Applications prior to Version 7.0 and Version 9.2 applications behave the same way. Properties are returned in the MQRFH2 headers, even if a message handle is created.
- MQINQMP returns no message properties, even if a message handle is created. MQRC_PROPERTY_NOT_AVAILABLE is returned if a property is inquired upon.
|
MQGMO_PROPERTIES_COMPATIBILITY |
An application prior to Version 7.0 connected to a Version 9.2 queue manager behaves the same as when it is connected to a queue manager from a version prior to Version 7.0. If the message is from a JMS client, the JMS properties are returned in the MQRFH2 headers. New or modified Version 9.2 applications, that create a message handle, behave differently.
- All properties in any message property folders are returned if the message contains a mcd., jms., usr., or mqext. folder.
- If the message contains property folders, but not a mcd., jms., usr., or mqext. folder, no message properties are returned in an MQRFH2.
- If a new or modified Version 9.2 application creates a message handle, query message properties using the MQINQMP MQI call. All message properties are removed from the MQRFH2.
- If a new or modified Version 9.2 application creates a message handle, all properties in the message can be queried. Even if the message does not contain a mcd., jms., usr., or mqext. folder, all message properties are queriable.
|