DBCP

Redis之JedisConnectionFactory通过哨兵发现master

余生长醉 提交于 2020-03-21 22:28:00
3 月,跳不动了?>>> JedisConnectionFactory中配置了哨兵后,会自动发现master节点,它是怎么做到的呢? 注:Spring-data-redis的版本: 1.8.7.RELEASE,Jedis的版本: 2.9.0.RELEASE 1.xml配置 List-1 properties文件省略了 <bean class="redis.clients.jedis.JedisPoolConfig" id="jedisPoolConfig"> <property name="maxTotal" value="${redis.maxTotal}"/> <property name="maxIdle" value="${redis.maxIdle}"/> <property name="numTestsPerEvictionRun" value="${redis.numTestsPerEvictionRun}"/> <property name="timeBetweenEvictionRunsMillis" value="${redis.timeBetweenEvictionRunsMillis}"/> <property name="minEvictableIdleTimeMillis" value="${redis

HikariPool-1 - Connection is not available, request timed out after 30000ms for very tiny load server

本秂侑毒 提交于 2019-12-19 03:57:29
问题 I have a small Java application for testing purposes. I have moved to hikari recently. What I notice is that I keep getting this error. java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms. java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms. at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:602) at com.zaxxer.hikari.pool.HikariPool

DBCP 配置参数

旧城冷巷雨未停 提交于 2019-12-16 14:53:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 由于commons-dbcp所用的连接池出现版本升级, 因此commons-dbcp2中的数据库池连接配置也发生了变化, 具体的参数配置说明如下: 参数 描述 username 通过JDBC建立一个连接所需的用户名 password 通过JDBC建立一个连接所需的密码 url 通过JDBC建立一个连接所需的URL driverClassName 所使用的JDBC驱动的类全名 connectionProperties 连接参数是在建立一个新连接时发送给JDBC驱动的 字符串的格式必须是[参数名=参数值;] 提示:用户名和密码属性是需要明确指出的,所以这两个参数不需要包含在这里 参数 缺省值 描述 defaultAutoCommit JDBC驱动的缺省值 通过这个池创建连接的默认自动提交状态。如果不设置,则setAutoCommit 方法将不被调用。 defaultReadOnly JDBC驱动的缺省值 通过这个池创建连接的默认只读状态。如果不设置,则setReadOnly 方法将不被调用。(部分驱动不支持只读模式,如:Informix) defaultTransactionIsolation JDBC驱动的缺省值 通过这个池创建连接的默认事务策略,设置值为下列中的某一个: (参考 javadoc ) NONE

dbcp连接mysql,8小时会自动断开连接

倖福魔咒の 提交于 2019-12-07 20:22:10
最近自己做一个项目用到dbcp连接mysql,开始时很正常,可是第二天再访问服务时就出问题了,mysql连接关闭了。 mysql在空闲8小时后,会自动断开连接,后来换用了c3p0,在 jdbcUrl的url串中加入参数: autoReconnect=true。问题解决 来源: oschina 链接: https://my.oschina.net/u/179462/blog/105119

SpringBoot-03

99封情书 提交于 2019-12-06 08:30:20
SpringBoot数据访问 关系型数据库访问 1.连接池 dbcp2、c3p0、druid、HikariCP、proxool等 依赖连接池jar包、驱动的jar包 spring-boot-starter-jdbc默认会追加连接池(1.x tomcat-jdbc 2.x hikaricp) application.properties或者application.yml中配置 数据库连接参数 在启动类开启自动配置@SpringBootApplication DataSourceAutoConfiguration自动配置组件规则: 默认按创建Hikari,然后tomcat,dbcp2顺序执行 如果需要创建指定类型连接池,可以采用下面配置 spring.datasource.type=xxx,或者从jdbc中把hikaricpjar包删除调 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <exclusions> <exclusion> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> </exclusion> </exclusions> <

JNDI数据源配置

自古美人都是妖i 提交于 2019-12-05 19:40:29
http://tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html#JDBC_Data_Sources Tomcat的标准数据源资源工厂( org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory )的配置属性如下: driverClassName- 要使用的JDBC驱动程序的标准Java类名称。 用户名 -要传递给我们的JDBC驱动程序的数据库用户名。 password- 要传递给我们的JDBC驱动程序的数据库密码。 url- 要传递给我们的JDBC驱动程序的连接URL。(为了向后兼容, driverName 还可以识别该属性。) initialSize- 在池初始化期间将在池中创建的初始连接数。默认值:0 maxActive- 可以同时从此池分配的最大连接数。默认值:8 minIdle- 同时在此池中处于空闲状态的最小连接数。默认值:0 maxIdle- 可以同时在此池中处于空闲状态的最大连接数。默认值:8 maxWait- 抛出异常之前,池将等待(如果没有可用连接时)返回连接的最大毫秒数。默认值:-1(无限) 一些其他属性可处理连接验证: validationQuery- 池可用于在将连接返回给应用程序之前验证连接的SQL查询。如果指定

JDBC+C3P0+DBCP 基本使用

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-05 01:23:17
1.概述 这篇文章主要说了JDBC的基本使用,包括Statement,PreparedStatement,JDBC的连接,Mysql创建用户创建数据表,C3P0的连接与配置,DBCP的连接与配置. 2.mysql的处理 这里的JDBC使用Mysql作为DBMS,请先安装Mysql,未安装的 请点击这里下载 , 安装教程在这里 ,作者使用的Mysql的8.0.17版本. (1)新建用户 随便新建一个用户,比如这里作者新建的是aa,密码是aa123bb. create user 'aa'@'localhost' identified by 'aa123bb' (2)建立数据表 建立测试用的数据表与数据库. create database db; use db; create table db ( id int PRIMARY key, name char(20) ); (3)用户权限 对刚才新建的用户授权: grant select,update,delete,insert on db.* to 'aa'@'localhost'; 2.JDBC (1)jar包 8.0.17版本在这里 各个版本的在这里下载 (2)连接 首先注册驱动,驱动需要一个url,用户名和密码,用户名和密码是上一步创建好的,url包含ip地址,端口和数据库的名字. private static final

Spring Boot中Datasource配置(Spring Boot dbcp2数据源配置)

不羁岁月 提交于 2019-12-04 20:39:18
数据库连接池选择算法 在默认情况下, 数据库连接可以使用DataSource池进行自动配置。下面是选取一个特定实现的算法: 由于Tomcat数据源连接池的性能和并发, 在tomcat可用时, 我们总是优先使用它。 如果HikariCP可用, 我们将使用它。 如果Commons DBCP可用, 我们将使用它, 但在生产环境不推荐使用它。 最后, 如果Commons DBCP2可用, 我们将使用它。 如果你使用spring-boot-starter-jdbc或spring-boot-starter-data-jpa 'starter POMs', 你将会自动获取对tomcat-jdbc的依赖。 注:其他的连接池可以手动配置。 如果你定义自己的DataSource bean,自动配置不会发生。 配置一个默认的数据源 DataSource配置通过外部配置文件的spring.datasource.*属性控制。示例中,你可能会在application.properties中声明下面的片段: spring.datasource.url=jdbc:mysql://localhost/test spring.datasource.username=dbuser spring.datasource.password=dbpass spring.datasource.driver-class-name

dbcp中几个重要实现类之间的关系和连接池参数简介

我只是一个虾纸丫 提交于 2019-12-04 17:38:05
如下图 1 所示主要分析的是 BasicDataSource 、 GenericObjectPool 、 DriverConnectionFactory 、 PoolableConnectionFactory 和 PoolingDataSource 类。 图 1 dbcp 几个重要实现类的关系 我们直接使用的最多的就是 BasicDataSource 类了,这个类主要是设置一些数据库连接池的参数,不过这些参数基本都是通过 GenericObjectPool 的实例来实现的。 在 BasicDataSource 中最重要的方法就是 createDataSource 方法了,这个方法中回创建一个 GenericObjectPool 实例来管理数据库连接( AbandonedObjectPool 类已经不被推荐了,所以这里不考虑),最后这个方法返回的是 PoolingDataSource 的实例,这个类主要是对 GenericObjectPool 和数据库连接的一些代理实现。下面是 createDataSource 方法的实现。 protected synchronized DataSource createDataSource() throws SQLException { // 如果已经创建了DataSource则直接返回 if (dataSource != null) {

java数据库连接池

别来无恙 提交于 2019-12-04 11:14:50
web项目都会使用数据库,而数据库访问会影响系统性能(I/O操作)。建立数据库连接是一个非常耗时耗资源的操作,通过配置连接池可以在系统启动时就分配并维护一定数量的连接,保持最低数量的连接数,通过设定连接池最大连接数来防止系统无尽的与数据库连接。这样在每次数据请求方需要连接时,直接从连接池获取,使用完毕之后再放回去,这样就可以尽可能减少不必要的数据库连接消耗,缓解数据库的访问压力,减轻对系统性能的影响。 java常用的数据库连接池主要有 DBCP 和 C3P0; 一、DBCP DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 Java 连接池项目,也是Tomcat 在 7.0 以前的版本使用的连接池组件。 使用DBCP应该导入commons-dbcp-x.x.jar、commons-pool-x.x.jar、commons-logging-x.x.jar commons-dbcp最新版本是 Apache Commons DBCP 2.1.1 for JDBC 4.1 (Java 7.0+) Apache Commons Pool 2.4.2 (Java 6.0+) Apache Commons Logging 1.2 测试实例 TestDBCP.java package cn.iborder.utils; import java