onlyMIT 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_r253492310
 
 

 ##########
 File path: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/CoreNotificationType.java
 ##########
 @@ -47,7 +47,8 @@
    SESSION_CREATED(26),
    SESSION_CLOSED(27),
    MESSAGE_DELIVERED(28),
-   MESSAGE_EXPIRED(29);
+   MESSAGE_EXPIRED(29),
+   CONNECTION_CONNECTED(30);
 
 Review comment:
   I am here to make a unified reply to your comments.
   
   In fact, this is only the mqtt protocol need, other protocols do not.Either 
way, it doesn't look too good in CORE, it just tries to make it look reasonable 
and more readable.
   ```
      /**
       * Called when all connection related operations are completed.
       */
      default void connected() throws Exception {
   ```
   I use `connected` as default not a interface method,Because we need to send 
cluster-notifation when the mqtt protocol connection is initialized, But other 
protocols don't need this method to do anything, use a empty default methods I 
think is appropriate.And all protocol connections have this connection 
completion status, and other protocols have the possibility to use this method. 
As for the logic that is only needed for MQTT to add a listener or callback, I 
think it is over-designed.
   
   I also find SESSION_CREATED  and CONNECTION_CREATED, but i can not use them, 
because we need clientId, and clientId read from client message. The clientId 
is read from the client's connection message. The logic for reading the 
clientId cannot be placed in the CORE code, when create a connection or create 
a session.
   
   For using callbacks or listeners, I still prefer to use the default method 
connected. Unless you have a better design to let me change my mind. 
   the clientId is read from the client message, it seems that the message can 
only be sent after the protocol connection has been processed. ( MQTT protocol 
neet to process the CONNECT request packet, some protocols do not have a 
CONNECT request packet)

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

Reply via email to