一.Mybatis 配置多数据源
比如公司的wms-adapter模块是用来做导入/中间表拉取的,上游用的是sqlserver2012,而我们公司用的是mysql,所以就必须得配置多数据源
1.首先在wms-adapter的build.gradle添加依赖
1 implementation 'com.microsoft.sqlserver:mssql-jdbc:10.2.0.jre8' 2 compile "com.baomidou:dynamic-datasource-spring-boot-starter:3.4.1" 3 compile "com.microsoft.sqlserver:sqljdbc4:4.0" 4 compile "org.mapstruct:mapstruct-jdk8" 5 compile "org.mapstruct:mapstruct-processor" 6 annotationProcessor "org.mapstruct:mapstruct-processor"
1 processResources { 2 from('src/main/java') { 3 include '**/*.xml' 4 } 5 from('src/main/generated') { 6 include '**/*.java' 7 } 8 }
2.在Nacos中的wms-adapter-dev.yml里新增配置
1 spring: 2 datasource: 3 dynamic: 4 primary: mysql #设置默认的数据源或者数据源组,默认值即为master 5 strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源 6 datasource: 7 mysql: 8 url: jdbc:mysql://wms-mysql:3306/wms_adapter?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true 9 username: root 10 password: root 11 mssql: 12 driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver 13 url: jdbc:sqlserver://192.168.230.130:1433;DataBaseName=JiaHe-sqlserver;;encrypt=true;trustServerCertificate=true 14 username: SA 15 password: root@Caesar 16 messages: 17 basename: classpath:i18n 18 cache-duration: 5000
3.在对应的mapper文件上添加注解 @DS("mssql")
1 @DS("mssql") 2 public interface ErpMapper extends BaseMapper<ErpDTO> { 3 4 List<ErpDTO> findAll(); 5 6 int updateStatus(@Param("id") Integer id, @Param("code")Integer code); 7 }
4.如果上游公司的sqlserver版本比我们公司的sqlserver版本低,就会出现版本问题,需要我们找到对应模块,如wms-adapter的openjdk
1 先进入容器里: 2 docker exec -it wms-adapter bash 3 4 再找到openjdk中的java.security文件 5 cd /usr/local/openjdk-8/jre/lib/security 6 7 查看java.security文件中关键字 jdk.tls.disable 8 cat java.security | grep 'jdk.tls.disable' 9 10 把容器里的文件拿出来 11 docker cp c10410897f23:/usr/local/openjdk-8/jre/lib/security /data/workspace/wms-adapter 12 13 删除文件中的TLSv1、TLSv1.1、3DES_EDE_CBC即可 14 15 再把文件放到容器里 16 docker cp /data/workspace/wms-adapter/java.security wms-adapter:/usr/local/openjdk-8/jre/lib/security/java.security 17 18 如果需要打包给系统测试拿到现场的话 19 先通过docker ps 查看需要打包的服务的IMAGE,比如 wms-adapter的IMAGE是 172.20.8.203/neightone/wms-adapter:test20220823145252 20 21 则通过docker save -o adapter-0823.tar 172.20.8.203/neightone/wms-adapter:test20220823145252打包即可
标签:java,wms,东西,adapter,sqlserver,工作,数据源,解决,security From: https://www.cnblogs.com/zuiqiangJAVA/p/16616290.html