首页 > 其他分享 >工作中解决的东西

工作中解决的东西

时间:2022-08-23 15:24:29浏览次数:38  
标签:java wms 东西 adapter sqlserver 工作 数据源 解决 security

一.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

相关文章