-
atomikos的日志名冲突
参考文章:springboot多数据源管理(atomikos)之多项目在同一Tomcat启动报错的解决方案
出错原因:
如果两个或多个springboot项目,都通过atomikos配置了多数据源,且放在同一Tomcat下运行,将会报错:
Caused by: com.atomikos.recovery.LogException: Log already in use? tmlog in /opt/apache-tomcat-9.0.50/bin/transaction-logs/
由于都使用的atomikos的默认日志打印tomcat\transaction-logs\tmlog.lck 和 tomcat\transaction-logs\tmlog0.log所以导致报错
解决思路:
- 修改默认日志文件名称;
- 修改默认日志文件路径;
- 关闭日志打印。
解决方式:
在application.properties或其他指定的属性文件中加入如下代码即可。
修改日志文件名称(建议名称最好与项目名保持一致)
spring.jta.atomikos.properties.log-base-name=test
修改日志文件路径
spring.jta.atomikos.properties.log-base-dir=./log/test1
关闭日志打印(只开启一个,其他关闭)
spring.jta.atomikos.properties.enable-logging=false
出错原因:修改配置文件时误删了 mybatis-plus: 这行代码
正确的配置文件
...
mybatis-plus:
mapper-locations: xxxx
.....
误删的配置文件
...
mapper-locations: xxxx
.....
结果导致了各种找不到mapper文件
Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.stylefeng.guns.sys.modular.system.mapper.XXXMapper.selectByxxx
最后时在检查代码的时候通过git的版本管理发现问题的