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