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 ...
随机推荐
- Java如何解决form表单上传文件,以及页面返回处理结果通知!
前端JSP代码 <form id='formSumbit' class='form-horizontal' action='/ncpay/route/chlsubmcht/batchImpor' ...
- Docker镜像加速 | Docker 中国源 | 仓库
镜像加速 | Docker 中国https://www.docker-cn.com/registry-mirror
- Android 模拟MotionEvent事件 触发输入法
Android 模拟MotionEvent事件 触发输入法 android输入法layoutbutton文本编辑encoding 关键词:MotionEvent,模拟按键,模拟点击事件,主动弹出输 ...
- Spring总结四:IOC和DI 注解方式
首先我们要了解注解和xml配置的区别: 作用一样,但是注解写在Bean的上方来代替我们之前在xml文件中所做的bean配置,也就是说我们使用了注解的方式,就不用再xml里面进行配置了,相对来说注解方式 ...
- day63-webservice 03.解析cxf提供的例子
Path配置: C:\Program Files (x86)\ScanSign;E:\app\zhongzh\product\11.2.0\dbhome_1\bin;D:\app\zhongzh\pr ...
- Ros学习——移动机器人Ros导航详解及源码解析
1 执行过程 1.运行仿真机器人fake_turtlebot.launch:加载机器人模型——启动机器人仿真器——发布机器人状态 2.运行amcl节点fake_amcl.launch:加载地图节点ma ...
- 面试题:MySQL性能调优——索引详解与索引的优化 没用
——索引优化,可以说是数据库相关优化.理解尤其是查询优化中最常用的优化手段之一.所以,只有深入索引的实现原理.存储方式.不同索引间区别,才能设计或使用最优的索引,最大幅度的提升查询效率! 一.BTre ...
- Shell +Cygwinterminal+WinMySQL 传参数授权
前言:新公司因为部分业务原因有好几百组win机器装MySQL授权登录比较麻烦,简单的写了一个shell传值自动授权的脚本,保存复用. #!/bin/bash #author liding@zlhy.c ...
- Android 单例模式探讨
Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图).但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五 ...
- c语言实践 数字特征值
这题的要求是这样的: 这题我没做出来,我大概思路是这样的,根据输入的数字,把这个数字的每一位都分离出来,然后判断奇数还是偶数,再判断序是奇数还是偶数,最后两个奇偶性比较,输出1还是0,这个输出的1和0 ...