![]() |
Copyright © TIBCO Software Inc. All Rights Reserved |
The header contains 11 predefined fields that contain values used to route and deliver messages. Table 5 describes the message header fields.
Table 5 JMS Message Headers send or publish method send or publish method EMS extends the delivery mode to include a RELIABLE_DELIVERY mode, as described in RELIABLE_DELIVERY on page 27. send or publish method Length of time that message will live before expiration. If set to 0, message does not expire. The time-to-live is specified in milliseconds.If the server expiration property is set for a destination, it will override the JMSExpiration value set by the message producer. send or publish method send or publish method See Message Priority for more information. send or publish method send or publish method TIBCO-specific property names begin with JMS_TIBCO. Client programs may use the TIBCO-specific properties to access EMS features, but not for communicating application-specific information among client programs.The EMS properties are summarized in Table 6 and described in more detail in subsequent sections in this chapter.
Table 6 Summary of message properties Extends the functionality of the MapMessage and StreamMessage body types to include submessages or arrays. When the EMS server imports a message from TIBCO SmartSockets, it sets this property to the SmartSockets sender header field (in SmartSockets syntax). If a message expires or has exceeded the value specified by the maxRedelivery property on a queue, the server checks the message’s JMS_TIBCO_PRESERVE_UNDELIVERED property. If JMS_TIBCO_PRESERVE_UNDELIVERED is set to true, the server moves the message to the undelivered message queue, $sys.undelivered. This undelivered message queue is a system queue that is always present and cannot be deleted. If JMS_TIBCO_PRESERVE_UNDELIVERED is set to false, the message will be deleted by the server.To make use of the undelivered message queue, the application that sends or publishes the message must set the boolean JMS_TIBCO_PRESERVE_UNDELIVERED property to true before sending or publishing the message.You should create a queue receiver to receive and handle messages as they arrive on the undelivered message queue. If you wish to remove messages from the undelivered message queue without receiving them, you can purge the $sys.undelivered queue with the administration tool, using the purge queue command described under Command Listing. You can also remove messages using the administrative API included with TIBCO Enterprise Message Service.Note that $sys.undelivered ignores the global destination property setting. Messages in the undelivered message queue are not routed to other servers.Within a message, EMS can supply the user name given by the message producer when a connection is created. The sender_name and sender_name_enforced server properties on the destination determine whether the message producer’s user name is included in the sent message.When a user name is included in a message, a message consumer can retrieve that user name by getting the string message property named JMS_TIBCO_SENDER.When the sender_name property is enabled and the sender_name_enforced property is not enabled on a destination, message producers can specify that the user name is to be left out of the message. Message producers can specify the JMS_TIBCO_DISABLE_SENDER boolean property for a particular message, and the message producer’s user name will not be included in the message. However, if the sender_name_enforced property is enabled, the JMS_TIBCO_DISABLE_SENDER property is ignored and the user name is always included in the message.
Table 7 JMS Message Types A java.lang.String. A set of name/value pairs. The names are java.lang.String objects, and the values are Java primitive value types or their wrappers. The entries can be accessed sequentially by enumeration or directly by name. The order of entries is undefined.
![]() |
Copyright © TIBCO Software Inc. All Rights Reserved |