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域名的主要机构,哈…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
