spring boot dynamic 动态数据数据源配置连接池
前言
我们可以使用 dynamic-datasource 来快速实现多数据源,但是多数据源配置连接池 以及说明文档都是收费的。 这里整理的连接池的配置以及配置说明
连接池配置 (druid或者 hikari 选择一个即可)
特此说明 如果配置配到了 spring.datasource.dynamic 下 druid 或者 hikari
这表示这个配置将作用于 dynamic 的所有数据源
spring: datasource:dynamic:# 全局配置的hikari 或druid# hikari 官方文档hikari:# 最小空闲数量min-idle: 10# 最小空闲数量minimumIdle:# 连接池最大数量max-pool-size: 100# 连接池最大数量maximum-pool-size:# 连接超时时间connectionTimeout:# 校验超时时间validationTimeout:# 空闲超时时间idleTimeout:# 此属性控制在记录指示可能的连接泄漏的消息之前连接可以离开池的时间量。值为0表示关闭泄漏检测。启用泄漏检测的最低可接受值是2000(2秒)。默认值:0leakDetectionThreshold:# 此属性控制池中连接的最大生存期 值为0表示没有最大生存期(无限生存期),当然取决于idleTimeout设置。最小允许值为30000ms(30秒)。默认值:1800000(30分钟)maxLifetime:# 初始化失败超时时间 即 到了指定时间还没初始化完成就算失败initializationFailTimeout:# 连接初始化SQLconnectionInitSql:# 连接查询测试SQLconnectionTestQuery:# 数据源类名dataSourceClassName: com.zaxxer.hikari.HikariDataSourcedataSourceJndiName:# 事务隔离级别名称transactionIsolationName:# 自动提交isAutoCommit:# 是否只读isReadOnly:# 是否隔离内部查询isIsolateInternalQueries:# 是否注册 mbeanisRegisterMbeans:# 是否允许pool 挂起isAllowPoolSuspension:# 存活时间keepaliveTime:druid:# 官方文档: https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8# 初始化数量 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时initialSize: 50# 最大存活数量maxActive: 50# 最小空闲数量==>最小连接池数量minIdle: 20# 配置获取连接等待超时的时间maxWait:# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒timeBetweenEvictionRunsMillis:# 配置间隔多久才进行日志统计,单位是毫秒timeBetweenLogStatsMillis:# 统计SQL最大数量statSqlMaxSize:# 配置一个连接在池中最小生存的时间,单位是毫秒minEvictableIdleTimeMillis:# 配置一个连接在池中最大生存的时间,单位是毫秒maxEvictableIdleTimeMillis:# 是否自动提交defaultAutoCommit:# 是否只读defaultReadOnly:# 默认事务隔离级别defaultTransactionIsolation:# 连接空闲测试testWhileIdle:# 当获取连接测试testOnBorrow:# 当归还连接测试testOnReturn:# 验证查询SQLvalidationQuery:# 验证查询超时时间validationQueryTimeout:# 使用全局数据源统计useGlobalDataSourceStat:# 异步初始化asyncInit:# 配置监控统计拦截的filtersfilters: statclearFiltersEnable:# 重置统计开关resetStatEnable:notFullTimeoutRetryCount:# 最大等待线程数量maxWaitThreadCount:# 快速失败failFast:phyTimeoutMillis:# 保持连接开关 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。keepAlive:# ps pool开关poolPreparedStatements:initVariants:initGlobalVariants:# 使用非公平锁useUnfairLock:# socket读取超时 killkillWhenSocketReadTimeout:# 每个连接 最大ps 池数量maxPoolPreparedStatementPerConnectionSize:# 共享pssharePreparedStatements:# 连接错误重试次数connectionErrorRetryAttempts:# 配置获取锁失败多少次 中断breakAfterAcquireFailure:removeAbandoned:removeAbandonedTimeoutMillis:# 查询超时时间queryTimeout:# 事务查询超时时间transactionQueryTimeout:# 连接超时时间connectTimeout:# socket 连接超时时间socketTimeout:datasource:ds1:url: jdbc:mysql://xx.xx.xx.xx:3306/dynamicusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver#type: com.zaxxer.hikari.HikariDataSourcetype: com.alibaba.druid.pool.DruidDataSource#注意hikari和druid选择一个使用# hikari 官方文档hikari:# 最小空闲数量min-idle: 10# 最小空闲数量minimumIdle:# 连接池最大数量max-pool-size: 100# 连接池最大数量maximum-pool-size:# 连接超时时间connectionTimeout:# 校验超时时间validationTimeout:# 空闲超时时间idleTimeout:# 此属性控制在记录指示可能的连接泄漏的消息之前连接可以离开池的时间量。值为0表示关闭泄漏检测。启用泄漏检测的最低可接受值是2000(2秒)。默认值:0leakDetectionThreshold:# 此属性控制池中连接的最大生存期 值为0表示没有最大生存期(无限生存期),当然取决于idleTimeout设置。最小允许值为30000ms(30秒)。默认值:1800000(30分钟)maxLifetime:# 初始化失败超时时间 即 到了指定时间还没初始化完成就算失败initializationFailTimeout:# 连接初始化SQLconnectionInitSql:# 连接查询测试SQLconnectionTestQuery:# 数据源类名dataSourceClassName: com.zaxxer.hikari.HikariDataSourcedataSourceJndiName:# 事务隔离级别名称transactionIsolationName:# 自动提交isAutoCommit:# 是否只读isReadOnly:# 是否隔离内部查询isIsolateInternalQueries:# 是否注册 mbeanisRegisterMbeans:# 是否允许pool 挂起isAllowPoolSuspension:# 存活时间keepaliveTime:druid:# 官方文档: https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8# 初始化数量 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时initialSize: 50# 最大存活数量maxActive: 50# 最小空闲数量==>最小连接池数量minIdle: 20# 配置获取连接等待超时的时间maxWait:# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒timeBetweenEvictionRunsMillis:# 配置间隔多久才进行日志统计,单位是毫秒timeBetweenLogStatsMillis:# 统计SQL最大数量statSqlMaxSize:# 配置一个连接在池中最小生存的时间,单位是毫秒minEvictableIdleTimeMillis:# 配置一个连接在池中最大生存的时间,单位是毫秒maxEvictableIdleTimeMillis:# 是否自动提交defaultAutoCommit:# 是否只读defaultReadOnly:# 默认事务隔离级别defaultTransactionIsolation:# 连接空闲测试testWhileIdle:# 当获取连接测试testOnBorrow:# 当归还连接测试testOnReturn:# 验证查询SQLvalidationQuery:# 验证查询超时时间validationQueryTimeout:# 使用全局数据源统计useGlobalDataSourceStat:# 异步初始化asyncInit:# 配置监控统计拦截的filtersfilters: statclearFiltersEnable:# 重置统计开关resetStatEnable:notFullTimeoutRetryCount:# 最大等待线程数量maxWaitThreadCount:# 快速失败failFast:phyTimeoutMillis:# 保持连接开关 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。keepAlive:# ps pool开关poolPreparedStatements:initVariants:initGlobalVariants:# 使用非公平锁useUnfairLock:# socket读取超时 killkillWhenSocketReadTimeout:# 每个连接 最大ps 池数量maxPoolPreparedStatementPerConnectionSize:# 共享pssharePreparedStatements:# 连接错误重试次数connectionErrorRetryAttempts:# 配置获取锁失败多少次 中断breakAfterAcquireFailure:removeAbandoned:removeAbandonedTimeoutMillis:# 查询超时时间queryTimeout:# 事务查询超时时间transactionQueryTimeout:# 连接超时时间connectTimeout:# socket 连接超时时间socketTimeout:ds2:url: jdbc:mysql://xx.xx.xx.xx:3307/dynamicusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver
相关文章:
spring boot dynamic 动态数据数据源配置连接池
前言 我们可以使用 dynamic-datasource 来快速实现多数据源,但是多数据源配置连接池 以及说明文档都是收费的。 这里整理的连接池的配置以及配置说明 连接池配置 (druid或者 hikari 选择一个即可) 特此说明 如果配置配到了 spring.datasour…...
vue3中如何使用 watch 函数来观察响应式数据的变化
前言 在 Vue 3 中,可以使用 watch 函数来观察响应式数据的变化。这个函数可以在组件的 setup 函数中使用。watch()方法还可以实现更多复杂的功能,比如异步获取数据并在数据更新时重新渲染页面。 代码示例 1、以下是一个使用 Vue 3 watch 函数的简单示例…...

自建机房私有云吗?
大家好,我是小码哥,之前一种有没搞清楚公有云、私有云的概念,今天算是弄清楚了,这里给大家分享一下公有云、私有云的区别,以及自建机房算不算私有云! 其实私有云(Private Cloud)和公…...

解决npm init vue@latest证书过期问题:npm ERR! code CERT_HAS_EXPIRED
目录 一. 问题背景 二. 错误信息 三. 解决方案 3.1 临时解决办法 3.2 安全性考量 一. 问题背景 我在试图创建一个新的Vue.js项目时遇到了一个问题:npm init vuelatest命令出现了证书过期的错误。不过这是一个常见的问题,解决起来也简单。 二. 错误…...

缓存和缓存的常用使用场景
想象一下,一家公司在芬兰 Google Cloud 数据中心的服务器上托管一个网站。对于欧洲用户来说,加载可能需要大约 100 毫秒,但对于墨西哥用户来说,加载需要 3-5 秒。幸运的是,有一些策略可以最大限度地减少远程用户的请求延迟。 这些策略称为缓存和内容交付网络 (CDN),它们是…...

模板方法模式(继承的优雅使用)
目录 前言 UML plantuml 类图 实战代码 AbstractRoutingDataSource DynamicDataSource DynamicDataSourceContextHolder 前言 在设计类时,一般优先考虑使用组合来替代继承,能够让程序更加的灵活,但这并不意味着要完全抛弃掉继承。 …...

百度智能云千帆,产业创新新引擎
本文整理自 3 月 21 日百度副总裁谢广军的主题演讲《百度智能云千帆,产业创新新引擎》。 各位领导、来宾、媒体朋友们,大家上午好。很高兴今天在石景山首钢园,和大家一起沟通和探讨大模型的发展趋势,以及百度最近一段时间的思考和…...

Python下载cuda包失败后到成功(方便使用GPU加速运算,显著提高代码运行速度)
一、查询自己电脑上的cuda版本方法: 1.在windows的cmd里查询显卡cuda的版本号,命令行输入:nvidia-smi 2.在NVIDIA控制面板上寻找自己电脑上cuda的版本 二、安装支持的cuda的python cupy库 因为我的电脑上为cuda11.4,所以使用cuda114,不同的版…...

【Flink】Flink 处理函数之基本处理函数(一)
1. 处理函数介绍 流处理API,无论是基本的转换、聚合、还是复杂的窗口操作,都是基于DataStream进行转换的,所以统称为DataStreamAPI,这是Flink编程的核心。 但其实Flink为了更强大的表现力和易用性,Flink本身提供了多…...

【Java - 框架 - Lombok】(2) SpringBoot整合Lombok完成日志的创建使用 - 快速上手;
"SpringBoot"整合"Lombok"完成日志的创建使用 - 快速上手; 环境 “Java"版本"1.8.0_202”;“Lombok"版本"1.18.20”;“Spring Boot"版本"2.5.9”;“Windows 11 专业版_22621…...

linux 系统安装php 8.0.2
1. 安装包准备 https://www.php.net/distributions/php-8.0.22.tar.gz 我下载到 /usr/local/src 这个目录了 cd /usr/local/srcwget https://www.php.net/distributions/php-8.0.22.tar.gz 2. tar 解压 然后进到解压的文件夹 tar -zxvf php-8.0.22.tar.gz cd php-8.0.2…...

你管这破玩意叫网络
你是一台电脑,你的名字叫 A 很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。 直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根网线连接了起来。 用一根网线连接起来怎么就能…...

系统开发实训小组作业week5 —— 用例描述与分析
目录 1、电影管理 1.1、 用例描述 1.2、 活动图 1.3、 界面元素 1.4、 功能 2、用户管理 2.1、 用例描述 2.2、 活动图 2.3、 界面元素 2.4、 功能 1、电影管理 1.1、 用例描述 用例号 UC009-01 用例名称 电影管理 用例描述 管理员实现对电影信息、座位数量、价…...

C语言例4-35:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡、问鸡翁、鸡母和鸡雏各几何?
方法一: 代码如下: //鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡、问鸡翁、鸡母和鸡雏各几何? //方法一: #include<stdio.h> int main(void) {int x…...
Leetcode 167. 两数之和 II - 输入有序数组
给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 < index1 < index2 < numbers.…...
Java实体类之间的转换
一.为什么要转换实体类 通常在后端开发中经常不直接返回实体Entity类,经过处理转换返回前端,前端提交过来的对象也需要经过转换Entity实体才做存储。 二.怎么转换 使用的BeanUtils.copyProperties方法虽然可以实现转换,但是比较粗暴&#…...

ESCTF-Web赛题WP
0x01-初次见面-怦然心动:your name? 随便输入一个字 根据提示可以看到 我们需要看源代码 直接 搜索 secret 关键字或者 ESCTF flag ESCTF{K1t0_iS_S0_HAPPy} 0x02-小k的请求 更安全的传参 post 参数为ESCTF 值为 love 自己的ip 同时还有个要求 是需要从度娘转过来 https://www…...

某物登录表单加密
之前分析过某物h5的以及小程序的搜索接口,就是一个aes,秘钥不固定,表单里把秘钥以及密文一起发过去,服务器解密后再把数据加密返回,客户端解密展示到页面上. 这期是关于app的登录,密码登录 声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,…...
2024java面试题
题目:反转一个单链表描述:给定一个单链表的头节点,将其反转,返回反转后的链表的头节点。 题目:合并两个有序链表描述:给定两个有序链表的头节点,将它们合并成一个有序链表,返回合并…...

FebHost:什么是哈萨克斯坦.KZ域名?
哈萨克斯坦,作为中亚地区重要的一员,其国家域名”.kz”正成为这个独立国家在网络世界中的代表。作为一个经济快速发展的国家,哈萨克斯坦的互联网基础设施和网络应用也在蓬勃发展。而.kz域名正是哈萨克斯坦网络身份的重要体现。 作为注册和管理.kz域名的主要机构,哈…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...