鍍金池/ 問答/Java  Linux  網(wǎng)絡(luò)安全/ 部署到tomcat上的項(xiàng)目,@scheduled會(huì)執(zhí)行兩次!!

部署到tomcat上的項(xiàng)目,@scheduled會(huì)執(zhí)行兩次??!

最近在springboot中調(diào)用@scheduled執(zhí)行定時(shí)任務(wù)。本地執(zhí)行一切正常,但是部署到服務(wù)器上發(fā)現(xiàn)會(huì)執(zhí)行兩次定時(shí)任務(wù)。
百度了很多,也上了stackoverflow。大概原因出現(xiàn)在部署到tomcat后,spring會(huì)被初始化兩次?
但是我嘗試了很多方法都無法解決我當(dāng)前項(xiàng)目存在的問題。
我嘗試修改了tomcat的server.xml文件,添加了context,指定了加載的war包,并把a(bǔ)ppBase改為了“”。
但是我只要一這樣干,項(xiàng)目就無法啟動(dòng)。真的是苦惱啊。
貼上服務(wù)器上的server.xml配置。
`<Host name="localhost" autoDeploy="true" unpackWARs="true" appBase="webapps/apps">

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

</Host>`

各位朋友們,給點(diǎn)意見。

回答
編輯回答
神曲

我之前遇到過類似的情況,是因?yàn)榉?wù)器上部署了兩臺(tái)tomcat,做了負(fù)載均衡。每臺(tái)都有一個(gè)scheduled,就執(zhí)行了兩次。
如果不是我這種情況,那忽略吧。

stackoverflow 上的類似問題。
Java Spring @Scheduled tasks executing twice

確保你沒有在@Scheduled注釋的bean類上使用@Configurable,并且在容器中注冊為普通的Spring bean。

2017年1月4日 08:53