节目
RegistrationPolicy.FAIL_ON_EXISTING
被设定.
我们在独立的tcserver中使用spring boot创建的WAR.
在旧版本取消部署之前会进行新部署,因此您可以部署多个版本.
我已经在使用了
spring.jmx.default-domain=[app name]
避免跨应用程序发生冲突……但是
我们看到的错误就像
UnableToRegisterMBeanException: Unable to register MBean with key 'dataSourceMBean'
nested exception is javax.management.InstanceAlreadyExistsException
对于我们的数据源Mbean跨越同一个应用程序的不同版本.
我想设置一个
RegistrationPolicy.IGNORE_EXISTING
我可以在维护ObjectNamingStrategy和defaultDomain的同时轻松完成这项工作吗?虽然一点也不困难,但我希望我不必覆盖所有JmxAutoConfiguration?
惭愧没有
spring.jmx.mbeanExporter.registrationPolicy
春季靴子属性
干杯
解决方法:
虽然这个问题是前一段时间被问过的,也许你已经找到了答案,但是一旦遇到这个问题,我会在这里给出2美分,并找到适合我的解决方案.
最初我还不完全清楚我需要做什么,但是当仔细阅读你在问题中提供的相同弹簧文档时,我发现你可以通过引入类注释来控制SpringBoot上的注册行为
@EnableMBeanExport(注册= RegistrationPolicy.IGNORE_EXISTING)
如果MBean已经注册,允许Spring忽略第二次JMX注册,可以看到at the spring documentation here