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

  2. 华为部分真机调试无法显示log问题解决

    真机测试时,部分华为手机无法获取全部的log信息.或者说无法获取Error以下级别的log信息.比如P7 这是因为部分华为机出厂默认log设置为关闭状态,因此只能获取Error以上级别的log信息.蛋 ...

  3. 值得一做》关于并查集的进化题目 BZOJ1015(BZOJ第一页计划)(normal-)

    这道题和以前做过的一道经典的洪水冲桥问题很像,主要做法是逆向思维.(BZOJ第10道非SB题纪念) 先给出题目 Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者 ...

  4. - description 方法作用

    自定义一个Person类 @interface Person : NSObject { int _age; double _height; double _weight; NSString *_nam ...

  5. 线程dump

    当应用程序运行变慢或者发生故障时,可能通过分析java的Thread Dumps得到分析他们得到阻塞和存在瓶颈的线程. 线程堆栈是虚拟机中线程(包括锁)状态的一个瞬间状态的快照,即系统在某一个时刻所有 ...

  6. 824. Goat Latin山羊拉丁文

    [抄题]: A sentence S is given, composed of words separated by spaces. Each word consists of lowercase ...

  7. HTTP防盗链与反防盗链

    HTTP防盗链 通过上一次,我没对HTTP请求不再那么陌生了.防盗链无非就是别人来请求自己网站的信息,用于其他网站,那么如果我们能识别请求是来自那个网站,如果是外网,那么就重定向等其他处理.但在web ...

  8. 实践作业3:白盒测试----findbugs介绍及使用DAY7

    本小组选择的是一个开源的Java静态代码分析工具----Findbugs. 与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜 ...

  9. 01 git 概念

    本文转自“廖雪峰的git教程” 集中式版本控制系统:版本库是集中存放在中央服务器的,中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 分布式版 ...

  10. 树形DP-HDU1561 The more, The Better

    很好的树形DP入门题,看着和选课那道题如出一辙. Problem Description ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻 ...