Tomcat与proxool和oracle的热部署问题

Tomcat与proxool和oracle的热部署问题,oracle,tomcat,proxool,Oracle,Tomcat,Proxool,我有一个关于Tomcat中proxool和oracle驱动程序的问题 我使用的web应用程序包含一个使用metro的webservice jar文件和一个servlet来初始化/启动proxool池。proxool池配置了oracle连接。调用服务时,它从池中获取连接,执行语句并返回。我随后关闭了服务方法中的resultset、语句和连接 当我现在尝试热取消部署web应用程序时,servlet通过ProxoolFacade.shutdown停止proxool池;在它的破坏方法 问题是,热取消部署

我有一个关于Tomcat中proxool和oracle驱动程序的问题

我使用的web应用程序包含一个使用metro的webservice jar文件和一个servlet来初始化/启动proxool池。proxool池配置了oracle连接。调用服务时,它从池中获取连接,执行语句并返回。我随后关闭了服务方法中的resultset、语句和连接

当我现在尝试热取消部署web应用程序时,servlet通过ProxoolFacade.shutdown停止proxool池;在它的破坏方法

问题是,热取消部署无法完成,因为无法从提取的web应用程序的文件夹中删除Oracle驱动程序ojdbc5.jar

在SQL server数据库和jtds驱动程序中尝试同样的方法,它不会出现这个问题

使用版本: ApacheTomcat 6.0.18 Oracle 11g JDBC驱动程序11.1.0.6.0 普罗索醇0.9.1

有人有主意吗


关于Timo,您必须将Oracle驱动程序添加到Tomcat实例并进行配置

这样,当应用程序终止时,驱动程序将保持活动状态,Tomcat将控制DB连接的池。出现问题的原因是一些DB驱动程序挂接到VM中。这意味着Tomcat无法在重新部署期间卸载这些类-仍然存在引用

我甚至建议尝试将proxool移到Tomcat服务器中,让Tomcat为您管理池。这将使热部署更快、更可靠,即使您泄漏了连接