Search code examples
jmssun

SUN IMQ topic messages preview


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.


Solution

  • 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...