繁体   English   中英

Spring Task Executor计划了太多的任务实例

[英]Spring Task Executor Scheduled too many instances of the task

我有一个简单的Spring Scheduled Taks,定义如下:

<context:component-scan base-package="com/test"/>
<task:scheduled-tasks>
    <task:scheduled ref="myScheduler" method="doMyTask" fixed-rate="300000"/>
</task:scheduled-tasks>

<task:scheduler id="taskScheduler" pool-size="1"/>

<task:executor id="executorWithPoolSizeRange"
               pool-size="1"
               queue-capacity="100"/>

<bean id="cleanupClass" class="com.test.CleanupClass">
   <property name="myProperty" value="3600"/>
</bean>

我想每5分钟同步运行一个线程。 但是,我得到的是每5分钟连续运行五个任务实例。 有谁知道上面的XML描述是否缺少某些内容?

我使用@Scheduled批注获得了想要的行为,但是我不想为固定速率使用批注,因为我希望它可以在代码外部进行配置。

谢谢。

以下为我工作:

  <bean id="task" class="com.foo.MyTask">
  <task:scheduled-tasks scheduler="scheduler">
    <task:scheduled ref="task" method="run" fixed-delay="300000" />
  </task:scheduled-tasks>
  <task:scheduler id="scheduler" pool-size="10" />

问候,马克

将其部署到tomcat时,这是您在STS中看到的行为吗? 如果是这样,您将要取消部署该应用程序,重新部署它,然后重新启动该应用程序。

另一个想法是使用属性文件中的SPEL表达式与@Sched批注一起使用。 这样,在使用该批注时仍可对其进行配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM