springboot集成巨杉数据库
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集成巨杉数据库的更多相关文章
- springBoot 集成Mysql数据库
springBoot 集成Mysql数据库 前一段时间,我们大体介绍过SpringBoot,想必大家还有依稀的印象.我们先来回顾一下:SpringBoot是目前java世界最流行的一个企业级解决方案框 ...
- 【SpringBoot】SpringBoot集成jasypt数据库密码加密
一.为什么要使用jasypt库? 目前springboot单体应用项目中,甚至没有使用外部配置中心的多服务的微服务架构的项目,开发/测试/生产环境中的密码往往是明文配置在yml或properties文 ...
- SpringBoot使用Druid数据库加密链接完整方案
网上的坑 springboot 使用 Druid 数据库加密链接方案,不建议采用网上的一篇文章<springboot 结合 Druid 加密数据库密码遇到的坑!>介绍的方式来进行加密链接实 ...
- springboot集成liquibase,h2数据库
Liquibase是一个用于跟踪.管理和应用数据库变化的开源的数据库重构工具.它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制. Liquibase具备如下特性:* 不依赖于特 ...
- SpringBoot集成mybatis,同时读取一个数据库中多个数据表
SpringBoot集成mybatis,同时读取一个数据库中多个数据表: application.properties: mybatis.config-location=classpath:mybat ...
- 图数据库Neo4j的基本使用及与SpringBoot集成
Neo4j 官网地址:https://neo4j.com/ 下载地址:https://neo4j.com/download-center/#community 官方入门文档:https://neo4j ...
- 国产时序数据库IotDB安装、与SpringBoot集成
一.简介: 本文将完成一个真实业务中的设备上报数据的一个例子,完整的展示后台服务接收到设备上报的数据后,将数据添加到时序数据库,并且将数据查询出来的一个例子.本文所有代码已经上传GitHub:http ...
- SpringBoot 集成Mybatis 连接Mysql数据库
记录SpringBoot 集成Mybatis 连接数据库 防止后面忘记 1.添加Mybatis和Mysql依赖 <dependency> <groupId>org.mybati ...
- SpringBoot集成Shiro并用MongoDB做Session存储
之前项目鉴权一直使用的Shiro,那是在Spring MVC里面使用的比较多,而且都是用XML来配置,用Shiro来做权限控制相对比较简单而且成熟,而且我一直都把Shiro的session放在mong ...
随机推荐
- mysql跟踪执行的sql语句
修改my.cnf配置文件 /usr/local/mysql/bin/mysql --verbose --help | grep -A 1 'Default options' Default optio ...
- CBV中的dispatch
之前介绍了FBV和CBV ,下面我们看一下CBV中的dispatch dispatch函数在类View中定义,作用就是通过反射查找get或post函数,所以在执行get或post函数之前,dispat ...
- component to string 自定义窗体
component to string string to component StringToComponent ComponentToString ObjectTextToBinary Objec ...
- Bootstrap日期插件中文实现
Bootstrap的相关JS和CSS直接跳过. <script type="text/javascript" src="static/js/jquery-1.9.1 ...
- Centos7下快速安装Mongo3.2
Centos7下快速安装Mongo3.2 一般安装Mongo推荐源码安装,有时候为了快部署测试环境,或者仅仅是想装个mongo shell,这时候yum安装是最合适的方式, 下面介绍一下如何在Cent ...
- solrcloud学习记录
1.今天看了下solrcloud提供的软提交的作用 硬提交:solr的建索引数据是要在提交时写入磁盘的,这是确保即便是停电也不会丢失数据: 软提交:为了提供更实时的检索能力,Solr设定了一种软提交方 ...
- 【总结整理】word使用技巧
Tab+Enter,在编过号以后,会自动编号段落 Ctrl + D调出字体栏,配合Tab+Enter全键盘操作吧 Ctrl + L 左对齐, Ctrl + R 右对齐, Ctrl + E 居中 Ctr ...
- Hibernate和Mybatis区别 详细 有用
1.开发上手难度 hibernate的真正掌握(封装的功能和特性非常多)要比Mybatis来得难. 在真正产品级应用上要用Hibernate,不仅对开发人员的要求高,hibernate往往还不适合(多 ...
- Map集合的关联数组实现
public class AssoiativeArray<K,V>{ //创建一个二维数组 private Object[][] pairs; //声明索引 private int ind ...
- spark源码阅读之network(1)
spark将在1.6中替换掉akka,而采用netty实现整个集群的rpc的框架,netty的内存管理和NIO支持将有效的提高spark集群的网络传输能力,为了看懂这块代码,在网上找了两本书看< ...