小编典典

在一个Tomcat上运行的多个Spring-boot应用程序

spring-boot

我可以在一个Tomcat上运行两个(或更多)Spring-boot应用程序吗?

我有两个打包为war文件的应用程序,我想在一台Tomcat服务器上运行它们。但是,部署它们时,出现以下异常:

org.springframework.jmx.export.UnableToRegisterMBeanException: 
    Unable to register MBean [org.springframework.boot.actuate.endpoint.jmx.DataEndpointMBean@2361d8ee] with key 'dumpEndpoint'; 
    nested exception is javax.management.InstanceAlreadyExistsException: org.springframework.boot:type=Endpoint,name=dumpEndpoint

每个Spring-boot应用程序注册的默认端点(例如/ health等)发生冲突。是否有一些解决方法,或者无法实现此设置?

感谢您的任何回应!


阅读 410

收藏
2020-05-30

共1个答案

小编典典

正如Spring Boot Reference所说:

如果您的应用程序包含多个Spring ApplicationContext,您可能会发现名称冲突。要解决此问题,可以将
endpoints.jmx.uniqueNames 属性设置为true,以便MBean名称始终是唯一的。

endpoints.jmx.domain=myapp
endpoints.jmx.uniqueNames=true
2020-05-30