自己对定时器并不陌生,平时写起来也得心应手。 但是这次遇到一个问题。 就是写好定时器后启动tomcat,发现启动了两个定时器。 两个线程 我了个去 why? 听首嗨歌,上个WC,洗个手,喝点热水 回来看了20分钟发现问题所在。 就是定时器所在的应用 放置在webapps下 而我又在server.xml里 配置了
<!-- lang: xml -->
<Host name="localhost" appBase="webapps" unpackWARs="true"
deployOnStartup="true" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
<Context path = "" docBase = "Hello" privileged = "true"/>
</Host>
注意这个属性 deployOnStartup="true" 的作用是 启动tomcat 的同时自动部署webapps下的应用。 而我又配置了
<!-- lang: xml -->
<Context path = "" docBase = "Hello" privileged = "true"/>
所以应用会启动两次。 进而也就是定时器启动了两次。 解决方案: 修改成 deployOnStartup="false"