Make sure message handling executor references are appropriately managed when we modify the service configuration
Change-Id: I56866dd8c3359de0fcf827fc247024c65a63c5c2
diff --git a/utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java b/utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java
index 6628bb2..099880d 100644
--- a/utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java
+++ b/utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java
@@ -200,12 +200,12 @@
@Override
public void registerHandler(String type, MessageHandler handler) {
- handlers.putIfAbsent(type, handler);
+ handlers.put(type, handler);
}
@Override
public void registerHandler(String type, MessageHandler handler, ExecutorService executor) {
- handlers.putIfAbsent(type, new MessageHandler() {
+ handlers.put(type, new MessageHandler() {
@Override
public void handle(Message message) throws IOException {
executor.submit(() -> {