开发者社区> 问答> 正文

在console中设置注册中心配置的范围不是会话级别的 : 配置报错 

在console中设置注册中心配置的时,影响的不是当前登录的用户,对所有登录的console用户都是生效的

private boolean setRegistryCenterNameToSession(final RegistryCenterConfiguration regCenterConfig, final HttpSession session) { session.setAttribute(REG_CENTER_CONFIG_KEY, regCenterConfig); try { RegistryCenterFactory.createCoordinatorRegistryCenter(regCenterConfig.getZkAddressList(), regCenterConfig.getNamespace(), Optional.fromNullable(regCenterConfig.getDigest()));

        SessionRegistryCenterConfiguration.setRegistryCenterConfiguration((RegistryCenterConfiguration) session.getAttribute(REG_CENTER_CONFIG_KEY));
    } catch (final RegException ex) {
        return false;
    }
    return true;
}</code></pre> 
public final class SessionRegistryCenterConfiguration {
    
    private static RegistryCenterConfiguration regCenterConfig;
    
    /**
     * 从当前会话范围获取注册中心配置.
     *
     * @return 事件追踪数据源配置
     */
    public static RegistryCenterConfiguration getRegistryCenterConfiguration() {
        return regCenterConfig;
    }
    
    /**
     * 设置注册中心配置至当前会话范围.
     * 
     * @param regCenterConfig 注册中心配置
     */
    public static void setRegistryCenterConfiguration(final RegistryCenterConfiguration regCenterConfig) {
        SessionRegistryCenterConfiguration.regCenterConfig = regCenterConfig;
    }
}
  注册中心的配置设置到成员属性上去,实现不了会话级别的,这样实现是不是有别的用途?  

展开
收起
kun坤 2020-06-04 13:11:32 622 0
1 条回答
写回答
取消 提交回答
  • 没做太多考虑,因为console就是运维人员用,而且切换注册中心的场景也比较少见,因此就这么实现了。######回复 @亮_dangdang : 好的,目前先这样用着吧######回复 @Hapic : 是的,这是个问题,可以考虑把注册中心和账户做绑定。不过界面太复杂,elastic-job就不实现了,可以自行修改######因为使用第一版的已经习惯了,业务组的开发人员在选择自己的注册中心时会互相影响的

    2020-06-05 13:15:28
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《用管控策略设定多账号组织全局访问边界》 立即下载
开源广进,用service cataloq构造k8s服务能力中心 立即下载
低代码开发师(初级)实战教程 立即下载