繁体   English   中英

通过纯JAVA程序保持JDBC连接池活动

[英]Keeping JDBC Connection Pool alive from a pure JAVA program

我的目标:在Apache中建立JDBC连接池,该池在纯JAVA程序的多次运行之间保持活动状态/可重用

到目前为止,我知道该怎么做:

1)根据context.xml中定义的数据源,在Netbeans中创建一个使用JDBC连接池的JavaScript应用。 在应用程序的多个运行之间建立的连接仍然有效,无论我在应用程序中连接/断开连接的次数如何,数据库侧连接的数量都不会增加。 这正是我想在纯JAVA中实现的目标。

2)在Netbeans中创建一个纯JAVA应用程序,该应用程序可建立并使用JDBC连接池。 问题:每次我运行应用程序时,都会建立/销毁JDBC连接池。 该应用程序计划是一个短暂的程序,经常运行,只有几个连接/断开连接。 因此,上述池的创建/销毁无法实现其自身的目的。


是否可以结合以上两者的优点来实现我的目标:以某种方式使Apache创建一个JDBC连接池,该连接池在将使用该池的纯JAVA应用程序的多次运行之间保持生存?

您正在以错误的方式处理此问题。

没有连接池可以在JVM重新启动后幸存下来,因为退出JVM时,它打开的所有套接字都会被销毁。

如果要有一个持久性连接池,则需要在某个地方运行一个持久性JVM进程。

Tomcat是一门非常熟练的可长时间运行的服务器,可以承载连接池。

如果您有只想偶尔运行的查询,则可以使用多种技术在Tomcat内部署的应用程序中执行该查询。 两个简单的示例是Java计时器或使用诸如Quartz之类的库。

如果您坚持使用“运行一次”风格的程序,则始终可以部署一个简单的WAR,在启动时(使用ContextListener或启动时加载的Servlet的init方法)运行一次代码。流程根据需要部署该代码。 与Tomcat的连接池将保持活动状态,您可以一次又一次地部署程序以运行代码。

因此,这里可以应用不同的技术。

我了解到,实现我想要的更好的方法是开发Web服务并将我的“纯Java”代码打包到Web服务客户端中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM