-
BoneCP连接池0
最近遇到点问题,页面要进行数据库的实时查询,参数大概八九百个,还要进行不同的处理,所以查询是分类进行的,同时需要进行很多查询,每次查询都创建一个连接,用完之后就关闭,但是jvm并不是close之后就直接关闭连接的,这就导致了连接数越界。
然后我就开始使用连接池,准备用BoneCP,请问用完之后直接connection.close()就可以了吗,连接池不用关闭或者处理吗,连接一直占着吗?如果这样服务器开的时间较长,内存会不会暴?
问题补充://初始化连接池
BoneCPConfig config = new BoneCPConfig();
config.setJdbcUrl(prop.getProperty("url"));//url连接
config.setUsername(prop.getProperty("username"));//连接用户名
config.setPassword(prop.getProperty("password"));//连接密码
//连接池在每个分区中的最大连接数
config.setMinConnectionsPerPartition(Integer.parseInt(prop.getProperty("minSize")));//5
//连接池在每个分区中的最小连接数
config.setMaxConnectionsPerPartition(Integer.parseInt(prop.getProperty("maxSize")));//10
//连接释放处理
config.setReleaseHelperThreads(3);
//当连接池中的连接耗尽时BoneCP一次同时获取的连接数
config.setAcquireIncrement(5);
//设置分区
config.setPartitionCount(1);
//设置连接空闲时间(分钟)
config.setIdleMaxAge(3);
//每60s检查所有连接池中的空闲连接
config.setIdleConnectionTestPeriod(60);
try {
boneCp = new BoneCP(config);
} catch (SQLException e) {
e.printStackTrace();
}2013年12月30日 11:20
5个答案 按时间排序 按投票排序
-
要理解连接池的原理, 你反过来思考一下:
1. 如果创建了一个connection, 要重用, 那么这个connection使用完之后, 是否关闭, 看配置, 若链接数不超限, 那么就放到池里, 以备使用, 若超过设置的最大链接数之后, 就直接关闭.
2. 因此, 如果你使用连接池, 那么你只需要配置好链接的一些参数, 例如最小链接数, 最大链接数等, 应用端一般这样调用:
Connection conn = null; try { conn = getConnection(); } finally { if (conn != null) { conn.close(); } }
你只需要保证get一个链接之后, 使用完之后, close掉这个链接, 就行了. 具体链接的状态, 你使用的连接池的包会维护的, 除非是你连接池的数目不限制才可能有内存问题, 但是一般的链接数都会设置限制的, 一般来说, 10-20个链接就够用了.
2013年12月31日 12:33
-
自己封装的JDBC么?如果是自己封装的还是要显式的关闭连接的。要不然会导致内存泄漏。但是如果用spring jdbc的话,别人已经封装好。就不需要connection.close()这样的操作了。
2013年12月31日 08:42
-
不管spring和hibernate,这些东西我不是很懂。但是不管用什么,只要你使用数据库连接池,一定会随应用的启动而启动,或第一次获取连接时启动,随应用关闭而关闭。
2013年12月30日 14:38
相关推荐
BoneCP 连接池学习笔记 例子 代码
bonecp连接池 bonecp的tomcat配置 比c3p0快25倍配置方法
bonecp数据库连接池jar包0.7.1: bonecp-0.7.1.RELEASE.jar bonecp-provider-0.7.1-rc2.jar bonecp-spring-0.7.1.RELEASE.jar
这里给出bonecp连接池,用了就知道好了 #bonecp properties #分区数量 bonecp.partitionCount = 1 #每个分区含有的最小连接数 bonecp.minConnectionsPerPartition = 1 #每个分区含有的最大连接数 bonecp....
代码内含BoneCp连接池和注解缓存。没有提供Spring的jar包。只要加入Spring的包就可以使用。或者只需要BoneCP和注解缓存的可以直接到lib里拿jar包。
BoneCP 连接池所用到的jar集合....................................
当今最快的连接池,比c3p0快25倍。CSDN测试通过,稳定快速。你值的拥有。
采用bonecp数据库连接池封装了Jdbc,当时也是网上下载了一份代码,发现不能用,只好自己修改代码,现在这个代码是可以直接运行的,测试用的Sql Server 2008,表很简单,就四个字段
NULL 博文链接:https://aleywang.iteye.com/blog/1477371
NULL 博文链接:https://zhaoningbo.iteye.com/blog/1106842
NULL 博文链接:https://425826501.iteye.com/blog/2184613
BoneCP是一个快速,开源的数据库连接池。帮你管理数据连接让你的应用程序能更快速地访问数据库。比C3P0/DBCP连接池快25倍。
NULL 博文链接:https://wang-jia-sina-com.iteye.com/blog/1893639
bonecp连接池所需的全部依赖包。。。bonecp连接池所需的全部依赖包。。。bonecp连接池所需的全部依赖包。。。bonecp连接池所需的全部依赖包。。。
bonecp连接池所用到的所有jar包,包括了guava.jar,亲测可用
开源数据库连接池bonecp附教程;据说是最快的数据库连接池
Java中的BoneCP数据库连接池用法.doc
应该是JAVAA里面最好最稳定最快的数据库连接池库bonecp-0.8.0,大家可以下载使用使用
数据库连接池BoneCP源码分析报告