在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;
}
}
注册中心的配置设置到成员属性上去,实现不了会话级别的,这样实现是不是有别的用途?
没做太多考虑,因为console就是运维人员用,而且切换注册中心的场景也比较少见,因此就这么实现了。######回复 @亮_dangdang : 好的,目前先这样用着吧######回复 @Hapic : 是的,这是个问题,可以考虑把注册中心和账户做绑定。不过界面太复杂,elastic-job就不实现了,可以自行修改######因为使用第一版的已经习惯了,业务组的开发人员在选择自己的注册中心时会互相影响的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。