michaelandrepearce commented on a change in pull request #2528: ARTEMIS-2226
last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#discussion_r252176199
##########
File path:
artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java
##########
@@ -343,6 +347,18 @@ public void onNotification(final Notification
notification) {
if (binding != null) {
// We have a local queue
Queue queue = (Queue) binding.getBindable();
+ //If the client ID represents a client already connected
to the server then the server MUST disconnect the existing client.
+ //Avoid consumers with the same client ID in the cluster
appearing at different nodes at the same time
+ SimpleString protocolName =
props.getSimpleStringProperty(ManagementHelper.HDR_PROTOCOL_Name);
+ if (protocolName != null &&
protocolName.equals(ProtocolName.MQTT_PROTOCOL_NAME.getProtocolName())) {
+ String clientId =
props.getSimpleStringProperty(ManagementHelper.HDR_CLIENT_ID).toString();
Review comment:
This is protocol specific logic. It is not suitable to have this in the core
modules.Any mqtt logic MUST be in the protocol module only.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services