gpt4 book ai didi

java - webapp 部署两次,quartz 作业运行两次

转载 作者:行者123 更新时间:2023-11-28 22:40:45 25 4
gpt4 key购买 nike

我正在部署在 tomcat 中的 Web 应用程序中运行 quartz 作业。但问题是作业被执行了两次。

经过一些互联网研究,我发现在 tomcat 的 server.xml 中添加一个带有 autoDeploy 的新 Host 可能会导致两次部署。我猜这是导致我的 quartz 调度程序执行了两次。

我尝试使用 autoDeploy = "false"。但问题仍然存在。

这是我的 server.xml 中的主机配置:

<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="false">

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

<Host name="demo.example.com" appBase="webapps/demo" unpackWARs="true" autoDeploy="false">
<Context path="/" docBase="." reloadable="true" />
</Host>

编辑(仅供引用):我的 cron 表达式:0 50 12 * * ? 计划在每天中午 12:50 运行。

此配置是否会部署我的应用程序两次?我该怎么做才能避免这种情况?提前致谢。

最佳答案

如果您的观察确实是正确的,那么这里可能存在多个问题 -

  1. 除了您在 server.xml 中指定的自定义位置之外,您的应用程序也可能存在于 tomcat/webapps 文件夹中。
  2. 您可能在某些 IDE 中使用热部署,并且在 IDE 中保存文件可能会重新加载上下文,从而再次重新初始化 quartz,这可能会给您错误的印象。
  3. 你确实有一些代码问题。

如果不查看代码片段,很难说出发生了什么,但这应该是相当简单的问题。

关于java - webapp 部署两次,quartz 作业运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39073141/

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