From 3036cf421d72c6ec805c1355e62f7e6623645298 Mon Sep 17 00:00:00 2001 From: zhouxiang Date: Mon, 21 Mar 2022 15:54:13 +0800 Subject: [PATCH] [ISSUE #3949] Add className in createChannel --- .../apache/rocketmq/proxy/channel/ChannelManager.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/channel/ChannelManager.java b/proxy/src/main/java/org/apache/rocketmq/proxy/channel/ChannelManager.java index 8fa53b3d7b..9a25d1c45e 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/channel/ChannelManager.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/channel/ChannelManager.java @@ -50,7 +50,7 @@ public class ChannelManager { } public T createChannel(Supplier creator, Class clazz) { - return createChannel(anonymousChannelId(), creator, clazz); + return createChannel(anonymousChannelId(clazz.getName()), creator, clazz); } public T createChannel(String clientId, Supplier creator, Class clazz) { @@ -96,6 +96,14 @@ public class ChannelManager { return clientHost + "@" + localAddress; } + private String anonymousChannelId(String className) { + final String clientHost = InterceptorConstants.METADATA.get(Context.current()) + .get(InterceptorConstants.REMOTE_ADDRESS); + final String localAddress = InterceptorConstants.METADATA.get(Context.current()) + .get(InterceptorConstants.LOCAL_ADDRESS); + return className + "@" + clientHost + "@" + localAddress; + } + public static SimpleChannel createSimpleChannelDirectly() { final String clientHost = InterceptorConstants.METADATA.get(Context.current()) .get(InterceptorConstants.REMOTE_ADDRESS);