Java 第三方连接池软件?

Java 第三方连接池软件?,java,connection,pool,Java,Connection,Pool,我完全熟悉连接池库,如c3p0等。。。我对由web容器(如Tomcat和WebSphere)管理的连接池不感兴趣 但是,如果您有一个独立的、批处理模式的Java应用程序(带有一个主方法的东西),并且希望它能够利用连接池,那么情况会怎样呢?我的意思是,如果独立程序要管理池,它会运行,创建池,使用连接,然后退出,破坏池。如果您希望应用程序运行并使用现有的连接池,那么这并不能真正为您带来任何好处 我要问的是,在数据库和Java命令行应用程序之间是否有一层可以运行的软件可以管理连接池?该软件将为Java

我完全熟悉连接池库,如c3p0等。。。我对由web容器(如Tomcat和WebSphere)管理的连接池不感兴趣

但是,如果您有一个独立的、批处理模式的Java应用程序(带有一个主方法的东西),并且希望它能够利用连接池,那么情况会怎样呢?我的意思是,如果独立程序要管理池,它会运行,创建池,使用连接,然后退出,破坏池。如果您希望应用程序运行并使用现有的连接池,那么这并不能真正为您带来任何好处

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


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

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

什么是DBPool

一个基于Java的数据库连接池实用程序,支持 基于时间的过期、语句缓存、连接验证和 使用池管理器进行配置


据我所知,您的设置池必须是一个独立的进程。这意味着批处理为数据库使用正确的JDBC驱动程序,但应该与池通信。这意味着池必须使用数据库的专有协议。这不能通过一种产品的合理努力来实现

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


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

一个独立的批处理应用程序可能只需要一个或两个连接。为什么不干脆避免完全使用池,或者使用连接数最少的本地池呢?独立应用程序可能需要连接池的原因与容器中运行的应用程序需要连接池的原因相同:当单个连接超时或由于其他原因变坏时,不会崩溃。应用程序不直接使用连接,而是在需要时使用数据源获取良好的连接。然后,数据源提供了隔离连接无法提供的可靠性。