diff --git a/eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/core/protocol/http/processor/LocalUnSubscribeEventProcessor.java b/eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/core/protocol/http/processor/LocalUnSubscribeEventProcessor.java index b71c23e5a9..881b341855 100644 --- a/eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/core/protocol/http/processor/LocalUnSubscribeEventProcessor.java +++ b/eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/core/protocol/http/processor/LocalUnSubscribeEventProcessor.java @@ -155,12 +155,7 @@ public void handler(final HandlerService.HandlerSpecific handlerSpecific, final if (!StringUtils.equals(unSubscribeUrl, client.getUrl())) { clientUrls.add(client.getUrl()); - List urls = idcUrls.get(client.getIdc()); - if (urls == null) { - urls = new ArrayList<>(); - idcUrls.put(client.getIdc(), urls); - - } + List urls = idcUrls.computeIfAbsent(client.getIdc(), list -> new ArrayList<>()); urls.add(StringUtils.deleteWhitespace(client.getUrl())); } @@ -271,12 +266,7 @@ private void registerClient(final HttpEventWrapper requestWrapper, final String groupTopicKey = client.getConsumerGroup() + "@" + client.getTopic(); List localClients = - eventMeshHTTPServer.getSubscriptionManager().getLocalClientInfoMapping().get(groupTopicKey); - - if (localClients == null) { - localClients = new ArrayList<>(); - eventMeshHTTPServer.getSubscriptionManager().getLocalClientInfoMapping().put(groupTopicKey, localClients); - } + eventMeshHTTPServer.getSubscriptionManager().getLocalClientInfoMapping().computeIfAbsent(groupTopicKey, list -> new ArrayList<>()); boolean isContains = false; for (final Client localClient : localClients) {