2
votes

Is there any way to view the messages that reside inside a JMS Topic destiantion?

I've got a problem with messages not being released from Topic destination. The Topic has got 1 producer and 7 consumers and none of them is durable.

Thanks in advance for any suggestions.

1

1 Answers

5
votes

After some digging finally found out the answer.

I need to use the following command:

imqcmd list msg -t t -n my_topic -nocheck

where my_topic is the name of my topic destination. After receiving a response like:

Listing messages for the destination
------------------------------------
Destination Name    Destination Type
------------------------------------
my_queue            Topic

On the broker specified by:

-------------------------
Host         Primary Port
-------------------------
localhost    7676

--------------------------------------------------------------------------------------------------
Message #   Message IDs                                                     Priority   Body Type
--------------------------------------------------------------------------------------------------
0           ID:9-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169630     4          TextMessage
1           ID:10-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169709    4          TextMessage
2           ID:11-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169717    4          TextMessage
3           ID:12-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169720    4          TextMessage
4           ID:13-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169723    4          TextMessage
5           ID:14-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169727    4          TextMessage

I can view Message details with this command:

imqcmd query msg -t t -n my_topic -msgID "ID:9-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169630" -nocheck

which willl print something like:

Querying message:
------------------------------------------------------------
Message ID
------------------------------------------------------------
ID:9-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169630

In the destination
------------------------------------
Destination Name    Destination Type
------------------------------------
my_topic            Topic

On the broker specified by:

-------------------------
Host         Primary Port
-------------------------
localhost    7676

--------------------------
Message Header Information
--------------------------
Message ID                  ID:9-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169630
Correlation ID              TestCorrID
Destination Name            my_topic
Destination Type            Topic
Delivery Mode               PERSISTENT (2)
Priority                    4
Redelivered                 false
Timestamp                   7/30/08 3:32:49 PM
Type                        
Expiration                  12/31/69 4:00:00 PM
ReplyTo Destination Name    temporary_destination://topic/AAA.BBB.CCC.DDD/58798/1
ReplyTo Destination Type    

------------------------------
Message Properties Information
------------------------------
LongProp      6534
IntProp       3
StringProp    TestStringValue
DoubleProp    7.4687643E7

------------------------
Message Body Information
------------------------
Body Type    TextMessage (1)

Afterwards the message can be deleted with command:

imqcmd destroy msg -t t -n my_topic-msgID "ID:9-AAA.BBB.CCC.DDD(e9:3b:c8:51:8b:75)-58798-1217457169630" -nocheck

Hope this helps someone, someday...