[
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194026&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194026
]
ASF GitHub Bot logged work on ARTEMIS-2226:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 04/Feb/19 14:34
Start Date: 04/Feb/19 14:34
Worklog Time Spent: 10m
Work Description: onlyMIT commented on 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]
Issue Time Tracking
-------------------
Worklog Id: (was: 194026)
Time Spent: 16h 10m (was: 16h)
> (MQTT)In the cluster,the last consumer connection should close the previous
> consumer connection
> -----------------------------------------------------------------------------------------------
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Reporter: Shiping Liang
> Priority: Major
> Time Spent: 16h 10m
> Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer
> connection should close the previous consumer connection!
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)