franz1981 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_r252156810
 
 

 ##########
 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);
 
 Review comment:
   I'm not that familiar with the MQTT protocol, but I can give you an idea: 
instead of using a SimpleString property, that is costly to be 
compared/transferred/encoded/decoded why not define a single byte (or short to 
be more future-proof) property? 
   It would be less human-readable, but more cheaper for a machine: in 
addition, a Short/Byte tends to be pooled on the ranges of -127<->128 AFAIK or 
something similar, so only the property name + HashMap entry will produce some 
garbage.

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to