Reprocess Messages from DMQ to Queue of the solace
I am able to reprocess messages from Solace DMQ to queue using the browser in JCMP solace package. But now I am facing an issue to process a particular message based on the message id or to process few messages that is there in between a date range. Please help me to find out which package or module I can use to check the messages from the DMQ on the basis of message id or date range.
Hi @aditya..! Welcome to the Solace Community! 🎉
So, first FYI: there is a new broker feature added recently where you can copy a message from one queue to another. No need to use a queue browser application to get the message and re-send back to a queue. Before this feature was added, yeah you'd need to browse-and-republish a message to get it from the DMQ back onto the original queue. You might want to give that a try. Docs here: https://docs.solace.com/Messaging/Guaranteed-Msg/VPN-Level-Msg-Spool-Admin-Tasks.htm#Copying I don't think you can do it in the GUI yet, but it should be coming soon.
But for your question: as I understand it, you're trying to figure out how to get a list of messages from the DMQ? Using the PubSub+ Manager GUI, you can see the messages sitting in your queue, and some of the metadata associated:
This information is also able to be retrieved programmatically using SEMP. Check the reference docs here: https://docs.solace.com/API-Developer-Online-Ref-Documentation/swagger-ui/software-broker/monitor/index.html#/queue/getMsgVpnQueueMsgs
I don't think there's any way to filter by a date range though. You'd have to get the oldest messages first and then "scroll" through them to find the date range you're interested in.
Hope that helps!0
They're similar in that they are both metadata on the message header. But that's about it. JMS "Message ID", called in Solace SMF terms "Application Message ID" is an application-settable free-text string. The publishing application sets it. Replication Group Message ID was introduced around the time Solace started supporting replay, and is set by the Solace broker. It's also required when using DMR (for event mesh) to ensure uniqueness. And it's what is used with the "copy" command, not the message ID.
NOTE: the "message ID" you see on the broker (and in that screenshot above), when browsing the messages is yet another ID that the broker automatically assigns. It's not the JMS Message ID.0