一、若依框架按照官方操作文档说明连接多数据源连接总是报错,折腾了很久终于找到连接的方法
1、在pom.xml 引入sqlserver2008数据jar包
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
2、配置从数据库数据源
slave:
# 从数据源开关/默认关闭
#driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
enabled: true
url: jdbc:sqlserver://192.168.1.200:1433;SelectMethod=cursor;DatabaseName=####
username: ###
password: #####
3、注释validationQuery: SELECT 1 FROM DUA
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
#validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
4、找到DruidProperties.java配置文件注释掉以下几个配置例如
@Value("${spring.datasource.druid.maxEvictableIdleTimeMillis}")
private int maxEvictableIdleTimeMillis;
/*@Value("${spring.datasource.druid.validationQuery}")
private String validationQuery;*/
@Value("${spring.datasource.druid.testWhileIdle}")
private boolean testWhileIdle;
/**
* 用来检测连接是否有效的sql,要求是一个查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
*/
/*datasource.setValidationQuery(validationQuery);*/
/** 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 */
datasource.setTestWhileIdle(testWhileIdle);
版权声明:本文为benchow168168原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。