【发布时间】:2013-01-13 23:23:55
【问题描述】:
我的系统上有以下配置。
JDK 1.6
Apache Tomcat 6.0.16
Windows 7
我正在使用mysql-connector-java-5.1.21 jar 文件。
我还在 Tomcat context.xml 文件中设置了以下参数
<Context antiResourceLocking="true" antiJARLocking="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
</Context>
当我取消部署我的应用程序时,它不会删除mysql-connector-java-5.1.21 jar,其他所有内容都会被删除。
当我尝试手动删除时,我收到以下错误消息:
File is open in Apache Tomcat
请帮忙
【问题讨论】:
-
删除前需要先停止tomcat。我认为tomcat仍在通过驱动程序打开与数据库的连接,因此它不会让您删除文件
-
是的,如果我停止 tomcat 服务,我可以删除该文件
-
这个问题不是jar文件的问题。您的应用程序需要更好地处理事务,因此它不会永远保持连接
-
在应用程序中,我们使用 Spring 和 Hibernate,因此数据库连接完全由这些框架处理。
标签: java locking tomcat6 mysql-5.1 undeploy