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

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

  

 sdb.connectTimeout=500
sdb.maxAutoConnectRetry=0
sdb.maxCount=500
sdb.detalIncCount=20
sdb.maxIdelCount=20
sdb.keepAliveTimeout=0
sdb.checkInterval=60000
sdb.syncCoordIntercal=0
sdb.validateConntion=false sdb.username=sdbadmin
sdb.password=sdbadmin

2、进行连接池的配置

  

 package com.xbsafe.common.sequaioDB;

 import java.util.Arrays;
import java.util.List; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component; import com.sequoiadb.net.ConfigOptions;
import com.sequoiadb.base.SequoiadbDatasource;
import com.sequoiadb.datasource.ConnectStrategy;
import com.sequoiadb.datasource.DatasourceOptions; /**
* 巨杉数据库连接池配置类
* @author zhouliang
* @date 2017年9月20日
*/
@Component
@PropertySource("classpath:sequaiodb.properties")
public class SdbConfig {
@Value("${sdb.connectTimeout}") private String connectTimeout;
@Value("${sdb.maxAutoConnectRetry}") private int maxAutoConnectRetry;
@Value("${sdb.maxCount}") private int maxCount;
@Value("${sdb.detalIncCount}") private int detalIncCount;
@Value("${sdb.maxIdelCount}") private int maxIdelCount;
@Value("${sdb.keepAliveTimeout}") private int keepAliveTimeout;
@Value("${sdb.checkInterval}") private int checkInterval;
@Value("${sdb.syncCoordIntercal}") private int syncCoordIntercal;
@Value("${sdb.validateConntion}") private boolean validateConntion; @Value("${sdb.username}") private String username;
@Value("${sdb.password}") private String password;
@Value("${sdb.serverlist}") private String serverlist; @Bean(name="sdbDataSource")
@Autowired
public SequoiadbDatasource sequoiadbDatasource(@Qualifier("sdb.datasource.nwOpt")ConfigOptions nwOpt,
@Qualifier("sdb.datasource.dsOpt")DatasourceOptions dsOpt){
List<String> serverList = Arrays.asList(serverlist.split(";"));
return new SequoiadbDatasource(serverList, username, password, nwOpt,dsOpt);
} @Bean(name="sdb.datasource.nwOpt")
public ConfigOptions configOptions(){
ConfigOptions nwOpt = new ConfigOptions();
// nwOpt.setConnectTimeout(connectTimeout);
nwOpt.setMaxAutoConnectRetryTime(maxAutoConnectRetry);
return nwOpt;
}
@Bean(name="sdb.datasource.dsOpt")
public DatasourceOptions datasourceOptions(){
DatasourceOptions dsOpt = new DatasourceOptions();
dsOpt.setMaxCount(maxCount); // 连接池最多能提供500个连接。
dsOpt.setDeltaIncCount(detalIncCount); // 每次增加20个连接。
dsOpt.setMaxIdleCount(maxIdelCount); // 连接池空闲时,保留20个连接。
dsOpt.setKeepAliveTimeout(keepAliveTimeout); // 池中空闲连接存活时间。单位:毫秒。0表示不关心连接隔多长时间没有收发消息。
dsOpt.setCheckInterval(checkInterval); // 每隔60秒将连接池中多于MaxIdleCount限定的空闲连接关闭.并将存活时间过长(连接已停止收发超过keepAliveTimeout时间)的连接关闭。
dsOpt.setSyncCoordInterval(syncCoordIntercal); // 向catalog同步coord地址的周期。单位:毫秒。
dsOpt.setValidateConnection(validateConntion); // 连接出池时,是否检测连接的可用性,默认不检测。0表示不同步。
dsOpt.setConnectStrategy(ConnectStrategy.BALANCE); // 默认使用coord地址负载均衡的策略获取连接。
return dsOpt;
}
}

springboot集成巨杉数据库的更多相关文章

  1. springBoot 集成Mysql数据库

    springBoot 集成Mysql数据库 前一段时间,我们大体介绍过SpringBoot,想必大家还有依稀的印象.我们先来回顾一下:SpringBoot是目前java世界最流行的一个企业级解决方案框 ...

  2. 【SpringBoot】SpringBoot集成jasypt数据库密码加密

    一.为什么要使用jasypt库? 目前springboot单体应用项目中,甚至没有使用外部配置中心的多服务的微服务架构的项目,开发/测试/生产环境中的密码往往是明文配置在yml或properties文 ...

  3. SpringBoot使用Druid数据库加密链接完整方案

    网上的坑 springboot 使用 Druid 数据库加密链接方案,不建议采用网上的一篇文章<springboot 结合 Druid 加密数据库密码遇到的坑!>介绍的方式来进行加密链接实 ...

  4. springboot集成liquibase,h2数据库

    Liquibase是一个用于跟踪.管理和应用数据库变化的开源的数据库重构工具.它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制. Liquibase具备如下特性:* 不依赖于特 ...

  5. SpringBoot集成mybatis,同时读取一个数据库中多个数据表

    SpringBoot集成mybatis,同时读取一个数据库中多个数据表: application.properties: mybatis.config-location=classpath:mybat ...

  6. 图数据库Neo4j的基本使用及与SpringBoot集成

    Neo4j 官网地址:https://neo4j.com/ 下载地址:https://neo4j.com/download-center/#community 官方入门文档:https://neo4j ...

  7. 国产时序数据库IotDB安装、与SpringBoot集成

    一.简介: 本文将完成一个真实业务中的设备上报数据的一个例子,完整的展示后台服务接收到设备上报的数据后,将数据添加到时序数据库,并且将数据查询出来的一个例子.本文所有代码已经上传GitHub:http ...

  8. SpringBoot 集成Mybatis 连接Mysql数据库

    记录SpringBoot 集成Mybatis 连接数据库 防止后面忘记 1.添加Mybatis和Mysql依赖 <dependency> <groupId>org.mybati ...

  9. SpringBoot集成Shiro并用MongoDB做Session存储

    之前项目鉴权一直使用的Shiro,那是在Spring MVC里面使用的比较多,而且都是用XML来配置,用Shiro来做权限控制相对比较简单而且成熟,而且我一直都把Shiro的session放在mong ...

随机推荐

  1. Eclipse使用总结——使用Eclipse打包带源码的jar包

    平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...

  2. 前端自动化之webstrom

    前端自动化之webstrom 在刚接触前端的时候,使用的就一直是webstrom,版本是webstrom 8. 前端自动画使用的时候,因为webstrom 8版本是没有集成gulp的.所以每次使用都默 ...

  3. 分布式系统CAP定理

    分布式系统领域有个著名的CAP定理: C-数据一致性: A-服务可用性: P-服务对网络分区故障的容错性 这三个特性在任何分布式系统中不能同时满足,最多同时满足两个 ZooKeeper是个CP的,即任 ...

  4. springmvc高级知识点

  5. Bell数和Stirling数

    前面说到了Catalan数,现在来了一个Bell数和Stirling数.什么是Bell数,什么是Stirling数呢?两者的关系如何,有用于解决什么算法问题呢? Bell数是以Bell这个人命名的,组 ...

  6. Marvel

    Marvel and what it is From http://www.tuicool.com/articles/qA3yau With marvel you can get an overvie ...

  7. 在slam_gmapping中使用Log数据创建地图

    本文介绍使用机器人记录的tf变换和激光扫描数据来建立2D地图.并在ROS的图形化模拟环境rviz中通过重新回放记录的数据作为机器人真实传感器采集的输入,来观测地图动态创建过程. 1.ROS gmapp ...

  8. ASP.NET中Service接受前端单个及多个数据的写法

    MVC中的Service主要是用来处理数据交互的. 前端页面传递一个或者多个参数到Service的写法: 一个参数写法: public DataTable 方法名 (Pagination pagina ...

  9. 编写javascript的基本技巧一

    自己从事前端编码也有两年有余啦,时间总是比想象中流逝的快.岁月啊,请给我把时间的 脚步停下吧.不过,这是不可能的,我在这里不是抒发时间流逝的感慨.而是想在这分享两 年来码农生活的一些javascrip ...

  10. 注入学习1:SQL注入语句大全

    学习背景 之前做了xss预防,以及些许的注入预防了,但是不够全面,如果还是搜集了下一些常用的注入手段,以此用来进行更好的预防. 什么是注入 一般来说,SQL注入一般存在于形如:HTTP://xxx.x ...