问题描述
updateChannelsResource方法希望添加资源id与RM_CHANNELS中的资源id不同的RpcContext
private static void updateChannelsResource(String resourceId, String clientIp, String applicationId) { ConcurrentMap<Integer, RpcContext> sourcePortMap = RM_CHANNELS.get(resourceId).get(applicationId).get(clientIp); for (ConcurrentMap.Entry<String, ConcurrentMap<String, ConcurrentMap<String, ConcurrentMap<Integer, RpcContext>>>> rmChannelEntry : RM_CHANNELS.entrySet()) { if (rmChannelEntry.getKey().equals(resourceId)) { continue; } ConcurrentMap<String, ConcurrentMap<String, ConcurrentMap<Integer, RpcContext>>> applicationIdMap = rmChannelEntry.getValue(); if (!applicationIdMap.containsKey(applicationId)) { continue; } ConcurrentMap<String, ConcurrentMap<Integer, RpcContext>> clientIpMap = applicationIdMap.get(applicationId); if (!clientIpMap.containsKey(clientIp)) { continue; } ConcurrentMap<Integer, RpcContext> portMap = clientIpMap.get(clientIp); for (ConcurrentMap.Entry<Integer, RpcContext> portMapEntry : portMap.entrySet()) { Integer port = portMapEntry.getKey(); if (!sourcePortMap.containsKey(port)) { RpcContext rpcContext = portMapEntry.getValue(); sourcePortMap.put(port, rpcContext); rpcContext.holdInResourceManagerChannels(resourceId, port); } } } }
行的用途是什么sourcePortMap.put(port,rpcContext);,该rpcContext的资源id与sourcePortMap相关的资源id不同。我想这种方法是错误的,没有必要
原提问者GitHub用户liujianhuiouc
可能一台机器有很多客户端,需要记录其他客户端端口。 如果其中一个客户端通道关闭,我们可以使用其他通道
原回答者GitHub用户CoffeeLatte007
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。