0

我完全熟悉连接池库,如 c3p0 等……我很喜欢由 Web 容器管理的连接池,如 Tomcat 和 WebSphere。

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

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

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

4

2 回答 2

0

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

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

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

于 2013-07-28T09:07:33.900 回答
0

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

DBPool:Java 数据库连接池

什么是 DBPool?

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

于 2013-07-28T08:28:59.263 回答