Как запланировать работу в Кварце, которая повторяется навсегда? - PullRequest
3 голосов
/ 24 августа 2010

Можно ли серийно повторять работу в Кварце навсегда?

Теперь, если я не установил RepeatInterval, я получаю сообщение об ошибке, в котором говорится, что RepeatInterval не может быть нулем.

Возможно ли настроить это с помощью Spring.NET? Теперь у меня есть вот что:

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
  <object id="ExampleBusinessObject" type="Edu3.Core.Job.ExampleJob, Edu3.Core"/>

  <object id="JobDetail" 
          type="Spring.Scheduling.Quartz.MethodInvokingJobDetailFactoryObject,
                Spring.Scheduling.Quartz">
    <property name="TargetObject" ref="ExampleBusinessObject" />
    <property name="TargetMethod" value="DoIt" />
    <property name="Concurrent" value="false" />
  </object>

  <object id="SimpleTrigger" 
          type="Spring.Scheduling.Quartz.SimpleTriggerObject, 
                Spring.Scheduling.Quartz">
    <!-- see the example of method invoking job above -->
    <property name="JobDetail" ref="JobDetail" />
    <!-- 10 seconds -->
    <!--<property name="StartDelay" value="5s" />-->
    <!-- repeat every 50 seconds -->
    <property name="RepeatInterval" value="10s" />
  </object>

  <object id="quartzSchedulerFactory" 
          type="Spring.Scheduling.Quartz.SchedulerFactoryObject,
                Spring.Scheduling.Quartz">
    <property name="triggers">
      <list>
        <ref object="SimpleTrigger" />
      </list>
    </property>
  </object>
</objects>

Я не хочу, чтобы разные потоки выполняли одну и ту же работу. Я просто хочу, чтобы DoIt был запущен. Если DoIt закончен, то DoIt запускается снова. Как бесконечный цикл while.

1 Ответ

7 голосов
/ 24 августа 2010

'RepeatCount' установлен в '-1'

...