Products | Versions |
---|---|
TIBCO Enterprise Message Service | - |
Not Applicable | - |
Description:
You can filter/consume a specific message using a selector when used against the actual message destination. You can not use the same selector on the monitor topic for the destination.
Example:
Sending a message to a queue "TEST" with a custom header property as follows.
fruit='apple'
If monitoringing topic $sys.monitor.Q.r.TEST with message selector fruit='apple', it does not work as the message that will be returned in the monitoring topic will be as follows (without using a selector).
2016-01-12 11:57:44.817 [EMS-SERVER1] $sys.monitor.Q.r.TEST
conn_connid = long: 6
conn_hostname = string: 'VCHEUNG-LT'
conn_type = string: 'topic'
conn_username = string: 'admin'
event_action = string: 'receive'
event_class = string: 'message'
event_reason = string: 'producer'
mode = string: 'PERSISTENT'
msg_id = string: 'ID:EMS-SERVER1.55685694E9906:1'
msg_seq = long: 7
msg_timestamp = long: 1452599864815
server = string: 'EMS-SERVER1'
source_id = long: 3
source_name = string: 'admin'
source_object = string: 'producer'
target_dest_name = string: 'TEST'
target_dest_type = string: 'queue'
TextMessage={Header={ JMSDestination={QUEUE:'TEST'} JMSDeliveryMode={PERSIST
ENT} JMSPriority={4} JMSMessageID={ID:EMS-SERVER1.55685694E9906:1} JMSTimestamp=
{Tue Jan 12 11:57:44 2016}} Properties={"fruit"={string:'apple'} "JMS_TIBCO_PRESERVE_UNDELIVERED"={string:'TRUE'}} Body={string:'test message body'}
Monitor topic Message Properties does not include the actual body of the monitoring topic, which is where the property will be kept. Moreover, a message selector is a string that lets a client program specify a set of messages based on the values of message headers and properties. In order to overcome this, you can create a bridge from the queue to a "monitor" topic with the specific selector (user defined property) used by this consumer. Then you can subscriber to the "monitor" topic to trace the messages with the user defined property.