0 0

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个答案 按时间排序 按投票排序

0 0

要理解连接池的原理, 你反过来思考一下:

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
0 0

自己封装的JDBC么?如果是自己封装的还是要显式的关闭连接的。要不然会导致内存泄漏。但是如果用spring jdbc的话,别人已经封装好。就不需要connection.close()这样的操作了。

2013年12月31日 08:42
0 0

池最大优势就是重复利用,不是真正意义上close,而是回收,又再次放到avaiable的队列

2013年12月31日 07:47
0 0

不管spring和hibernate,这些东西我不是很懂。但是不管用什么,只要你使用数据库连接池,一定会随应用的启动而启动,或第一次获取连接时启动,随应用关闭而关闭。

2013年12月30日 14:38
0 0

当然是这样。连接池随应用的启动而启动,随应用的关闭而关闭。开的时间多长,内存又有什么关系呢。

2013年12月30日 13:26

相关推荐

    BoneCP 连接池学习笔记

    ** BoneCP 连接池学习笔记 ** BoneCP 是一个高效、轻量级的 Java 数据库连接池(JDBC Connection Pool)实现。它在性能上优于其他同类连接池,如 C3P0 和 DBCP,尤其适用于高并发场景。在深入理解 BoneCP 之前,...

    比c3p0还快的bonecp连接池配置方法讲解

    骨CP(BoneCP)是一款高性能的Java数据库连接池(JDBC Connection Pool)库,它以其高效性能和轻量级的设计而受到开发者的欢迎。在某些测试中,BoneCP被证明比C3P0快约25倍,这使得它成为在高并发场景下优化数据库...

    bonecp数据库连接池jar包

    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连接池demo

    本篇将详细介绍BoneCP连接池的使用和核心概念,以及如何通过提供的示例代码进行配置和集成。 BoneCP的主要特点包括: 1. **线程安全**:BoneCP采用预分配的连接策略,确保每个线程都可以快速获取到已建立的数据库...

    BoneCP 连接池所用到的jar集合

    下面将详细介绍BoneCP连接池及其相关的jar文件。 1. **BoneCP简介** BoneCP是一个轻量级的数据库连接池,由Jeffrey Yu开发。它的设计目标是提供快速、低内存占用和高并发性能。BoneCP通过预分配和复用数据库连接来...

    Bonecp连接池java项目源代码(eclipse版)

    通过深入研究这个Eclipse项目,你可以学习到如何配置和使用BoneCP连接池,以及它在实际项目中的工作原理。这对你提升数据库管理能力,优化应用性能具有极大的帮助。同时,如果你对数据库连接池的实现感兴趣,源代码...

    BoneCP连接池和Ehcache注解缓存整合到Spring

    首先, BoneCP连接池的核心特性包括: 1. **连接复用**:BoneCP通过管理数据库连接的生命周期,实现了连接的复用,避免了频繁创建和关闭连接的开销。 2. **线程安全**:它设计为线程安全,每个请求都能获取到独立的...

    基于Bonecp连接池的jdbc工具类及jar包

    首先, BoneCP连接池的设计目标是提高性能,减少内存消耗,并通过线程安全的连接复用来提高多线程环境下的并发能力。它采用了一些高级策略,如预分配和缓存连接,以确保在高负载情况下也能快速响应数据库请求。 ...

    DBCP+C3P0+BoneCP连接池参数说明

    ### BoneCP连接池参数说明 BoneCP是一款高性能的数据库连接池,它采用了一种分片策略来提高并发性能。以下是一些关键参数: 1. **partitionCount**: 数据库连接池的分区数,每个分区有自己的连接池。 2. **...

    bonecp连接池

    这里给出bonecp连接池,用了就知道好了 #bonecp properties #分区数量 bonecp.partitionCount = 1 #每个分区含有的最小连接数 bonecp.minConnectionsPerPartition = 1 #每个分区含有的最大连接数 bonecp....

    BoneCp连接池详解及和Hibernate配置(当今最快的连接池)

    BoneCP是一款高效的数据库连接池,它以其出色的性能和稳定性赢得了开发者们的青睐。相较于其他常见的连接池如c3p0,BoneCP宣称能提供超过25倍的性能提升,这对于高并发、大数据量的Web应用来说尤其重要。在本文中,...

    bonecp数据库连接池使用Demo

    采用bonecp数据库连接池封装了Jdbc,当时也是网上下载了一份代码,发现不能用,只好自己修改代码,现在这个代码是可以直接运行的,测试用的Sql Server 2008,表很简单,就四个字段

    开源数据库连接池bonecp附教程

    骨CP(BoneCP)是一款高性能、轻量级的开源Java数据库连接池,它以其高效的并发性能和优秀的资源管理而受到开发者的青睐。本教程将深入探讨骨CP的基本概念、安装配置、使用方法以及优化策略。 一、骨CP简介 骨CP是...

    bonecp 连接池

    BoneCP是一款高效、开源的Java数据库连接池,其设计目标是提供比其他常见的连接池,如C3P0和DBCP更快的性能。在数据库访问中,连接池扮演着至关重要的角色,它通过复用已建立的数据库连接,显著提高了应用程序的运行...

    JDBC连接池BoneCP_Demo

    BoneCP_Demo 是一个示例项目,展示了如何在Java应用中集成并使用BoneCP连接池进行数据库操作。通过理解和实践这个Demo,开发者可以更好地理解JDBC连接池的工作原理,以及如何利用BoneCP提升数据库操作的性能和效率...

    BoneCP(连接oracle例子+jar包)

    3. **初始化 BoneCP**:在代码中加载配置文件,并初始化BoneCP连接池。 ```java BoneCPConfig config = new BoneCPConfig(); config.setConfigFile("path/to/bonecp.properties"); BoneCP pool = new BoneCP...

    bonecp0.7 所有jar包

    BoneCP连接池的核心理念在于它的分片策略和连接池的细粒度控制。通过将连接池划分为多个片段,每个片段独立管理自己的连接,从而实现了高并发环境下的高效并发访问。此外,它还提供了线程安全的连接分配和回收机制,...

    基于java的数据库连接池 BoneCP.zip

    总的来说,`基于java的数据库连接池 BoneCP.zip`是一个包含BoneCP连接池实现及相关配置的压缩包。通过配置`bonecp-default-config.xml`,开发者可以定制适合其应用需求的数据库连接池行为。同时,`jsr166y`、`com`和...

    bonecp相关所有jar包

    BoneCP是一款轻量级的Java数据库连接池(JDBC Connection Pool)框架,它以其高效、易用性而受到开发者的欢迎。在这个压缩包文件中,包含了BoneCP运行所需的多个核心库,下面将对这些库进行详细解读。 1. **bonecp-...

    bonecp 相关所有jar包以及连接demo

    BoneCP 是一个高性能的 JDBC 连接池,它在 Java 应用中被广泛使用,以提高数据库连接的效率和管理。在这个压缩包中,包含了 BoneCP 的所有必需的 JAR 包,以及一个连接示例(demo),帮助开发者快速理解和使用 ...

Global site tag (gtag.js) - Google Analytics