Questions tagged «connection-pooling»

在软件工程中,连接池是维护的连接的缓存,以便在将来需要对该资源的请求时可以重用这些连接。

16
JDBC的连接池选项:DBCP与C3P0
可用于Java / JDBC的最佳连接池是什么? 我正在考虑2个主要候选人(免费/开源): Apache DBCP- http://commons.apache.org/dbcp/ C3P0- http://sourceforge.net/projects/c3p0 我已经在博客和其他论坛上阅读了很多有关它们的内容,但无法做出决定。 这两个有其他相关选择吗?

12
如何在Node.js Web应用程序中管理MongoDB连接?
我在MongoDB中使用node-mongodb-native驱动程序来编写网站。 我对如何管理连接有一些疑问: 仅使用一个MongoDB连接就可以处理所有请求是否足够?是否存在性能问题?如果没有,是否可以设置全局连接以在整个应用程序中使用? 如果不是,在请求到达时打开一个新的连接,并在处理请求时关闭它,这会很好吗?打开和关闭连接是否昂贵? 我应该使用全局连接池吗?我听说驱动程序具有本地连接池。这是一个好选择吗? 如果使用连接池,应该使用多少个连接? 还有其他我应该注意的事情吗?

4
实体框架和连接池
我最近开始在.NET 4.0应用程序中使用Entity Framework 4.0,并对与池相关的一些事情感到好奇。 据我所知,连接池是由ADO.NET数据提供程序管理的,在我的情况下是由MS SQL服务器管理的。实例化新实体上下文(ObjectContext)(即无参数)时,这是否适用new MyDatabaseModelEntities()? a)为应用程序创建全局实体上下文(即一个静态实例)或b)使用using块为每个给定的操作/方法创建和公开实体上下文的优缺点是什么? 我应该了解某些特定情况下的其他建议,最佳实践或通用方法吗?

13
高效的SQL测试查询或验证查询,可在所有(或大多数)数据库中使用
许多数据库连接池库都提供了测试其SQL连接是否空闲的功能。例如,JDBC池库c3p0具有一个名为的属性preferredTestQuery,该属性将在配置的时间间隔上在连接上执行。同样,Apache Commons DBCP具有validationQuery。 我看到的许多示例 查询都是针对MySQL的,建议将其SELECT 1;用作测试查询的值。但是,此查询不适用于某些数据库(例如HSQLDB,SELECT 1需要使用FROM子句)。 是否存在与数据库无关的查询,该查询同样有效,但适用于所有SQL数据库? 编辑: 如果没有(似乎是这种情况),有人可以建议一套适用于各种数据库提供程序的SQL查询吗?我的意图是根据数据库提供程序的配置以编程方式确定可以使用的语句。


13
如何在JDBC中建立连接池?
有人可以提供有关如何建立JDBC连接池的示例或链接吗? 通过搜索谷歌,我看到了许多不同的方法来做到这一点,这很令人困惑。 最终,我需要返回一个java.sql.Connection对象的代码,但是在上手时遇到了麻烦。欢迎任何建议。 更新: 没有javax.sql或java.sql没有池连接实现?为什么不最好使用这些?

3
在池中关闭JDBC连接
我们使用JDBC的标准代码部分是... Connection conn = getConnection(...); Statement stmt = conn.conn.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rset = stmt.executeQuery (sqlQuery); // do stuff with rset rset.close(); stmt.close(); conn.close(); 问题1:使用连接池时,是否应该在最后关闭连接?如果是这样,合并的目的就不会丢失吗?如果不是,那么DataSource如何知道何时释放Connection的特定实例并可以重用?我对此感到有些困惑,任何指针都表示赞赏。 问题2:以下方法是否接近标准?看起来像是尝试从池中获取连接,并且如果无法建立DataSource,请使用老式的DriverManager。我们甚至不确定哪个部分正在运行时执行。重复以上问题,是否应该关闭这种方法发出的连接? 谢谢-MS synchronized public Connection getConnection (boolean pooledConnection) throws SQLException { if (pooledConnection) { if (ds == null) { try { Context envCtx = (Context) …

3
DBCP-针对不同数据库的validationQuery
我使用DBCP池,并且想使用testOnBorrow和testOnReturn来测试连接是否仍然有效。 不幸的是,我必须设置属性validationQuery使其起作用。 问题:validationQuery应该有什么值? 我知道:validationQuery必须是SQL SELECT语句,它至少返回一行。 问题是我们使用了各种数据库(DB2,Oracle,hsqldb)。


4
2011/2012年将选择Java JDBC连接池库吗?
我应该将哪个JDBC连接池库用于新的应用程序项目(而非Web应用程序)? 我认为Apache DBCP有足够多的未解决问题,这些问题一直持续到2.0。 C3P0的开发似乎已停止。 而且两者看上去都比较慢。 Proxool已死。 DBPool几乎没有社区(至少我没有找到任何公开社区-没有论坛,没有邮件列表...) 如果没有Tomcat,Apache Tomcat Pool似乎无法使用 我已经在Oracle网站上找到了SQL Datasources文章,但似乎只能将其应用于在servlet和Web服务等容器中运行的applet。 我应该选择BoneCP吗?我没有什么大要求。我只需要一个良好且易于使用的数据库连接池,即正在开发中。库,其作者可以答复错误报告,回答某些特定问题等。 顺便说一句,实际上,我只使用MySQL。我已经发现,MySQL驱动程序支持DriverManager接口,但是我不确定它是否实际上汇集了连接。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.