第三方连接池软件?

问题描述:

我完全熟悉连接池库,比如c3p0等等......我很酷,有一个由Web容器(如Tomcat和WebSphere)管理的连接池。第三方连接池软件?

但是,如果您拥有独立的批处理模式Java应用程序(某种主方法),并且希望它能够利用连接池?我的意思是,如果独立程序管理池,它将运行,创建池,使用连接然后退出,破坏池。如果您希望应用程序运行并利用现有的连接池,这并不会真正为您购买任何东西。

我问的是,是否有一层软件可以在数据库和可以管理连接池的Java命令行应用程序之间运行?该软件将为您的Java应用程序提供一个端口,以便通过JDBC访问连接池。任何带有指向此端口的JDBC URL的应用程序都可以使用连接池。现在,即使没有中间件服务器(tomcat,glassfish),独立应用程序也可以使用连接池。

听起来很酷。它存在吗?它是否存在对Oracle :)

+1

独立批处理应用程序可能只需要一个或两个连接。为什么不简单地完全避免使用一个池,或者使用最少数量连接的本地池? – 2013-07-28 08:18:38

+0

独立应用程序可能需要连接池,原因与在容器中运行的应用程序需要一个连接池相同:不会因为其他原因导致单个连接超时或出现故障时发生崩溃。不需要直接使用连接,应用程序在需要时使用DataSource获取良好的连接。 DataSource然后提供孤立连接无法提供的可靠性。 – user250343 2016-07-14 02:27:14

我没有测试它,但它看起来有趣:

DBPool : Java Database Connection Pooling

是什么了DBPool?

一个基于Java的数据库连接池实用程序,支持 基于时间的到期,语句缓存,连接验证以及使用池管理器的简单配置 。

正如我了解您的设置池必须是一个独立的过程。这意味着批处理使用正确的JDBC驱动程序作为数据库,但应该与池进行通信。这意味着,池必须谈论数据库的专有协议。通过合理的努力,一件产品无法做到这一点。

因此,您不应该要求一个通用的解决方案,而是针对特定数据库的解决方案。

对于PostgreSQL,例如有两个这样的池:PgBouncer和pgpool。