BeeCP-Starter

小蜜蜂连接池启动器
授权协议 Apache
开发语言 Java
所属分类 程序开发、 数据库连接池
软件类型 开源软件
地区 国产
投 递 者 祝允晨
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

BeeCP-Starter是小蜜蜂连接池在Springboot上的启动器

相关功能

1:文件方式配置数据源信息

2:支持一个或多数据源配置

3:支持配置Jndi数据源

4:扩展支持其他数据源

5: 连接池监控

运行依赖

1:Java版本:JDK1.8

2:Springboot版本:2.0.9.RELEASE

版本下载

<dependency>
   <groupId>com.github.chris2018998</groupId>
   <artifactId>beecp-spring-boot-starter</artifactId>
   <version>1.5.5</version>
</dependency>

多源配置

配置项 说明 必填 参考数据
nameList 数据源配置名单表,名字作为数据源的Ioc注册名 spring.datasource.nameList=d1,d2,d3
datasourceType 数据源类名,必须含有无参构造函数 否(不填默认采用小蜜蜂数据源) spring.datasource.d1.datasourceType=cn.beecp.BeeDataSoruce
propertySetFactory 数据源属性注入工厂类 否(其他数据源必填) spring.datasource.d1.datasourceAttributeSetFactory=xxxx
primary 是否为首要数据源,不配置为false spring.datasource.d1.primary=true
jndiName 中间件数据源Jndi名,若配置则作为首要配置 spring.datasource.d2.jndiName=testDB
poolName 数据源地连接池名 spring.datasource.d1.poolName=BeeCP1
username JDBC连接用户名 spring.datasource.d1.username=root
password JDBC连接用密码 spring.datasource.d1.password=root
jdbcUrl JDBC连接URL spring.datasource.d1.jdbcUrl=jdbc:mysql://localhost:3306/test
driverClassName JDBC连接用驱动 spring.datasource.d1.driverClassName=com.mysql.cj.jdbc.Driver

单数据源范例

application.properties

#单数据源配置点
spring.datasource.type=cn.beecp.BeeDataSource
spring.datasource.poolName=BeeCP1
spring.datasource.username=root
spring.datasource.password=
spring.datasource.jdbcUrl=jdbc:mysql://localhost:3306/test
spring.datasource.driverClassName=com.mysql.jdbc.Driver

下载参考代码: https://github.com/Chris2018998/BeeCP-Starter/blob/master/doc/SingleDsStarterDemo.zip

多数据源范例

application.properties

#多数据源配置起点
spring.datasource.nameList=ds1,ds2,ds3 

#第1数据源
spring.datasource.ds1.primary=true  
spring.datasource.ds1.poolName=BeeCP1
spring.datasource.ds1.username=root
spring.datasource.ds1.password=root
spring.datasource.ds1.jdbcUrl=jdbc:mysql://localhost:3306/test
spring.datasource.ds1.driverClassName=com.mysql.cj.jdbc.Driver
 
#第2数据源
spring.datasource.ds2.jndiName=testDB 
  

#第3数据源
spring.datasource.ds3.poolName=Hikari
spring.datasource.ds3.datasourceType=com.zaxxer.hikari.HikariDataSource 
spring.datasource.ds3.datasourceAttributeSetFactory=cn.beecp.boot.setFactory.HikariDataSourceSetFactory
spring.datasource.ds3.username=root
spring.datasource.ds3.password=root
spring.datasource.ds3.jdbcUrl=jdbc:mysql://localhost:3306/test
spring.datasource.ds3.driverClassName=com.mysql.cj.jdbc.Driver

#xxxx为对应连接池的属性注入工厂类的实现,请参照*扩展接口*

DemoApplication.java

@EnableMultiDataSource   //多数据源标签
@EnableDataSourceMonitor //开启数据源监控
@SpringBootApplication
public class DemoApplication {
  public static void main(String[] args) {
     SpringApplication.run(DemoApplication.class, args);
   }
}

下载参考代码 https://github.com/Chris2018998/BeeCP-Starter/blob/master/doc/MutilDsStarterDemo.zip

扩展接口

public interface DsPropertySetFactory {
    
     //get Properties value from environment and set to dataSource
     public void setAttributes(Object ds,String configPrefix,Environment environment)throws Exception;
  }

其他数据源属性工厂实现

数据源类名 属性注入工厂
com.zaxxer.hikari.HikariDataSource cn.beecp.boot.setFactory.HikariDataSourceSetFactory
com.alibaba.druid.pool.DruidDataSource cn.beecp.boot.setFactory.DruidDataSourceSetFactory
org.apache.tomcat.jdbc.pool.DataSource cn.beecp.boot.setFactory.TomcatJdbcDataSourceSetFactory

监控界面

在打开监控标签后,访问页面的地址为:http://IP:port/xxxx/BeeCPMonitor.html(其中xxxx为项目名)效果页面如下

SQL监控配置

spring.datasource.sql-trace=true                      #开启动SQL监控(默认为True)
spring.datasource.sql-show=true                       #是否打印SQL
spring.datasource.sql-trace-max-size=100              #SQL执行跟踪的个数
spring.datasource.sql-trace-timeout=60000             #SQL执行跟踪最大时间 (毫秒) 
spring.datasource.sql-exec-alert-time=5000            #SQL执行时间警告值(毫秒) 
spring.datasource.sql-trace-timeout-scan-period=18000 #SQL执行跟踪扫描时间 (毫秒)
spring.datasource.sql-exec-alert-action=xxxxx         #SQL执行时间预警值类名(需要扩展类:cn.beecp.boot.monitor.sqltrace.SqlTraceAlert)
  • Springboot 多数据源 简介 dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。 其支持 Jdk 1.7+, SpringBoot 1.4.x 1.5.x 2.x.x。 特性 List item 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息 加密 E

 相关资料
  • 小蜜蜂进化是一款文字放置游戏。

  • 蓝蜜蜂记账系统是专门为个体商户打造的一款免费、流行的进销存记账系统.系统紧紧围绕个体商户的进货、销售、统计这条业务主线。 它广泛适用于批发或零售门店的进销存管理。改产品系统简单易用,小巧灵活方便,无需专门培训,无需专业知识,使您轻松记账,方便管理,最终让您的更多精力投放的生意经营之中。 特性: 完全免费:无需激活码,用户可以完全免费使用 简单易用:充分考虑用户使用习惯,简单易用、快捷、方便。

  • 我使用具有以下设置的Hikary连接池: 在getConnection()之后,hikari尝试获取到实例的2个连接,但只将一个连接放在连接池中。我怎样才能修好它?hikari版本是

  • 我们有一个spring-boot应用程序,它使用嵌入式tomcat进行部署,并使用MySQL后端的默认tomcat-jdbc连接池,而没有为MySQL或tomcat端定制。 该应用程序有一些调度程序,它们主要在一天中的特定时间运行,即在昨天的最后一次cron运行和今天的第一次cron运行之间,有超过9个小时的间隙。然而,无论何时cron在早期运行,它都从未遇到过空闲连接问题。 现在我们看到一条错误

  • 我有一个Spring Boot(1.5.17)Web应用程序,其Tomcat JDBC连接池(8.5.34)配置如下: 现在,如果我重新启动数据库服务器(SQL server),我会得到exception,连接池未恢复。 那么我做错了什么?

  • 嘿,我正在使用Glassfish开源v4,我遇到了一个奇怪的问题。 我在管理控制台中定义了到Oracle 11g的JDBC连接池,并设置了: 初始和最小池大小:500 最大游泳池大小:1000 池大小调整数量::750 我已经为这个连接池创建了一个特定的用户。然而,有时当我检查数据库中打开的连接时,我发现有1000多个连接(我看到的最大连接数是1440个) 当发生这种情况时,任何查询尝试都会失败,