解决tomcat同时部署两个SpringBoot应用时所遇到的问题

1. 提示InstanceAlreadyExistsException

原因很简单:同一个domain里面的MBean要求name唯一。因此我们分别把不同的应用放到不同的doman问题便可以解决.

Spring Boot的spring.jmx资源管理是默认打开的,而两个项目同时使用会冲突,有两种解决办法,在每一个SpringBoot应用的application.properties中添加如下语句:

修改配置文件:application.properties(yml)

办法1:在项目配置中加入:spring.jmx.enabled=false

办法2:

在application中各自配置

spring.jmx.default-domain=project1

spring.jmx.default-domain=project2

以保证domain是两个不一样的

2 .  部署时上下文路径问题

在application.yml中配的 有关server的一切都是针对springboot内置的tomcat在开发时的配置,比如

server:
    port: 8080
    servlet:
      context-path: /client

而当项目部署到外部tomcat后所有server的配置以外部tomcat自身的配置为准. 尤其要说明的是context-path仅仅只适用于开发时 而当部署后以应用名为contextPath 原来的配置不再有用. 我在此处被坑了

 

 

 

 

 

你可能感兴趣的:(SpringBoot)