Unsubscribe disconnects, does not unsubscribe from queue
37 views
Skip to first unread message
Nick Shaw
unread,
Jun 20, 2016, 9:26:02 AM6/20/16
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to stompest
Hello all,
we've an issue I've been investigating which I'm guessing is related to message volume. As part of this however I found myself looking at the unsubscribe implementation and noticed it doesn't gracefully unsubscribe from its queue/topic, it simply disconnects.
Has anyone noticed any problems with this or any reason specifically why this approach has been taken?
Thanks
nikipore
unread,
Jun 20, 2016, 9:53:03 AM6/20/16
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to stompest
On which code do you base your conclusion? Both clients (sync and async) simply delegate to commands.unsubscribe() which emits an UNSUBSCRIBE frame; no disconnect logic whatsoever.
The reverse is true, though: the disconnect methods simply disconnect and do not gracefully unsubscribe. This is 100% compliant to the STOMP protocol definition: graceful unsubscription is not required and therefore up to the end-user (you). STOMP compliant brokers won't send any frames (save a single RECEIPT when requested) to a client once they received a DISCONNECT frame from the respective client.
The underlying session logic of the clients supports the end-user replaying subscriptions upon reconnect, though.
But maybe you should start over describing how precisely your "problem related to message volume" manifests itself?