gpt4 book ai didi

tomcat - Tomcat 8 上的反资源锁定

转载 作者:行者123 更新时间:2023-11-28 21:48:56 24 4
gpt4 key购买 nike

我们在 Windows 上运行 Tomcat8,重新部署应用程序有时会因 Windows 锁定属性 jar 而失败。

我发现此文档说您必须将 AntiResourceLocking 属性添加到 Context 元素:Apache Tomcat 8 Configuration Reference

我们所有的服务器都是使用脚本构建的,所以在 server.xml 中执行此操作应该没有问题(如果它有效?):

<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context antiResourceLocking="true"></Context>
</Host>
</Engine>

当服务器重新启动时,Tomcat 会打印出以下错误,而我们并不知道到底出了什么问题:

Failed to initialize component     [StandardEngine[Catalina].StandardHost[localhost].StandardContext[null]]

Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[null]]

Caused by: java.lang.NullPointerException
at org.apache.catalina.core.StandardContext.getObjectKeyPropertiesNameOnly(StandardContext.java:6233)

有人做过吗?我错过了什么吗?

最佳答案

您缺少的是 conf/server.xml 之间的区别和 conf/context.xml .

当你添加 <Context .../>元素到 conf/server.xml您正在定义一个单独的上下文(Web 应用程序)。这相当于定义一个 <Context .../> CATALINA_BASE/conf/<engine-name>/<host-name>/<context-name>.xml 中的元素或者在 /META-INF/context.xml文件打包为 Web 应用程序的一部分。

<Context .../> conf/context.xml 中的元素为所有上下文(网络应用程序)定义默认值。

您在 conf/server.xml 中添加的单个上下文元素失败,因为您没有指定路径。

如果您真的想为所有 Web 应用程序启用反资源锁定,那么您需要将 antiResourceLocking="true"作为属性添加到 <Context .../> CATALINA_BASE/conf/context.xml 中的元素.

顺便说一句,此选项只是解决 Web 应用程序中资源泄漏的一种方法。您可能需要考虑花时间修复这些资源泄漏。

关于tomcat - Tomcat 8 上的反资源锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34153700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com