springboot集成巨杉数据库

springboot倾向于约定优于配置,所以大大简化了搭建项目的流程,包括各种数据源的配置,接下来就和大家分享下最近用到的巨杉数据源连接池的配置

1、现在配置文件中定义巨杉连接池的各种连接信息,至于每个参数代表的意义大家可以参考巨杉官网给出的连接池的配置

  

 1 sdb.connectTimeout=500
 2 sdb.maxAutoConnectRetry=0
 3 sdb.maxCount=500
 4 sdb.detalIncCount=20
 5 sdb.maxIdelCount=20
 6 sdb.keepAliveTimeout=0
 7 sdb.checkInterval=60000
 8 sdb.syncCoordIntercal=0
 9 sdb.validateConntion=false
10 
11 
12 sdb.username=sdbadmin
13 sdb.password=sdbadmin

2、进行连接池的配置

  

 1 package com.xbsafe.common.sequaioDB;
 2 
 3 import java.util.Arrays;
 4 import java.util.List;
 5 
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.beans.factory.annotation.Qualifier;
 8 import org.springframework.beans.factory.annotation.Value;
 9 import org.springframework.boot.context.properties.ConfigurationProperties;
10 import org.springframework.context.annotation.Bean;
11 import org.springframework.context.annotation.Configuration;
12 import org.springframework.context.annotation.PropertySource;
13 import org.springframework.stereotype.Component;
14 
15 import com.sequoiadb.net.ConfigOptions;
16 import com.sequoiadb.base.SequoiadbDatasource;
17 import com.sequoiadb.datasource.ConnectStrategy;
18 import com.sequoiadb.datasource.DatasourceOptions;
19 
20 /**
21  * 巨杉数据库连接池配置类
22  * @author zhouliang
23  * @date 2017年9月20日
24  */
25 @Component
26 @PropertySource("classpath:sequaiodb.properties")
27 public class SdbConfig {
28     @Value("${sdb.connectTimeout}") private String connectTimeout;
29     @Value("${sdb.maxAutoConnectRetry}") private int maxAutoConnectRetry;
30     @Value("${sdb.maxCount}") private int maxCount;
31     @Value("${sdb.detalIncCount}") private int detalIncCount;
32     @Value("${sdb.maxIdelCount}") private int maxIdelCount;
33     @Value("${sdb.keepAliveTimeout}") private int keepAliveTimeout;
34     @Value("${sdb.checkInterval}") private int checkInterval;
35     @Value("${sdb.syncCoordIntercal}") private int syncCoordIntercal;
36     @Value("${sdb.validateConntion}") private boolean validateConntion;
37     
38     @Value("${sdb.username}") private String username;
39     @Value("${sdb.password}") private String password;
40     @Value("${sdb.serverlist}") private String serverlist;
41     
42     
43     @Bean(name="sdbDataSource")
44     @Autowired
45     public SequoiadbDatasource sequoiadbDatasource(@Qualifier("sdb.datasource.nwOpt")ConfigOptions nwOpt,
46             @Qualifier("sdb.datasource.dsOpt")DatasourceOptions dsOpt){
47         List<String> serverList = Arrays.asList(serverlist.split(";"));
48         return new SequoiadbDatasource(serverList, username, password, nwOpt,dsOpt);
49     }
50     
51     @Bean(name="sdb.datasource.nwOpt")
52     public ConfigOptions configOptions(){
53         ConfigOptions nwOpt = new ConfigOptions();
54 //        nwOpt.setConnectTimeout(connectTimeout); 
55         nwOpt.setMaxAutoConnectRetryTime(maxAutoConnectRetry); 
56         return nwOpt;
57     } 
58     @Bean(name="sdb.datasource.dsOpt")
59     public DatasourceOptions datasourceOptions(){
60         DatasourceOptions dsOpt = new DatasourceOptions();
61         dsOpt.setMaxCount(maxCount);                     // 连接池最多能提供500个连接。
62         dsOpt.setDeltaIncCount(detalIncCount);           // 每次增加20个连接。
63         dsOpt.setMaxIdleCount(maxIdelCount);             // 连接池空闲时,保留20个连接。
64         dsOpt.setKeepAliveTimeout(keepAliveTimeout);     // 池中空闲连接存活时间。单位:毫秒。0表示不关心连接隔多长时间没有收发消息。
65         dsOpt.setCheckInterval(checkInterval);          // 每隔60秒将连接池中多于MaxIdleCount限定的空闲连接关闭.并将存活时间过长(连接已停止收发超过keepAliveTimeout时间)的连接关闭。
66         dsOpt.setSyncCoordInterval(syncCoordIntercal);     // 向catalog同步coord地址的周期。单位:毫秒。
67         dsOpt.setValidateConnection(validateConntion);     // 连接出池时,是否检测连接的可用性,默认不检测。0表示不同步。
68         dsOpt.setConnectStrategy(ConnectStrategy.BALANCE); // 默认使用coord地址负载均衡的策略获取连接。
69         return dsOpt;
70     }
71 }

 

转载于:https://www.cnblogs.com/gulang-jx/p/7572252.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值