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 原来的配置不再有用. 我在此处被坑了