In my previous question, the codebase I am working on uses Solace's JCSMP API to trigger a replay, and uses the Spring JMS Listener annotated method to consume the replayed events.
I would like to ask, how can I check either via JMS or the Solace JCSMP Api in my spring boot application whether my client-initiated replay has completed?
I have read up from these following links that suggest that on replay completion it switches to live data stream but does not say anything about any flags or method to detect this switch.
- https://docs.solace.com/Features/Replay/Message-Replay-Overview.htm#:~:text=During%20replay%2C%20new%20live%20messages,Broker%20Manager%2C%20or%20SEMP%20commands
- https://docs.solace.com/Features/Replay/Msg-Replay-Playback.htm#:~:text=What%20happens%20to%20live%20messages%20received%20with%20a%20replaying%20endpoint%20destination%3F
edit: I have gotten approval to switch from JMS to the JCSMP api fully. However, I am still unable to detect any switch to live data stream from replayed messages.
There is currently no way of knowing this. Can you elaborate on why you would need to know?
If you absolutely needed to you can capture the time you start your consumer and check the msg timestamps as they come in. Note that timestamps will be set by the clients so you'll want to ensure clocks are synced if you go this route.