планировщик cron вызывается дважды в назначенное время планировщика - PullRequest
0 голосов
/ 18 мая 2018

Это код компонента для планировщика cron.объявление для runMeTask и runMeJob

<bean id="runMeTask" class="com.ascent.fieldomobify.cornScheduler.RunMeTask"/>
<bean name="runMeJob" class="org.springframework.scheduling.quartz.JobDetailBean">
    <property name="jobClass" value="com.ascent.fieldomobify.cornScheduler.RunMeJob" />
    <property name="jobDataAsMap">
        <map>
            <entry key="runMeTask" value-ref="runMeTask" />
        </map>
    </property>
</bean>

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="runMeJob"/>
    <property name="cronExpression" value="0 0 13 * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="cronTrigger" />
        </list>
    </property>
</bean>

он получает вызов непосредственно из конфигурации планировщика EJB Первый класс - RunMeJob

public class RunMeJob extends QuartzJobBean {
private RunMeTask runMeTask;

public void setRunMeTask(RunMeTask runMeTask) {
    this.runMeTask = runMeTask;
  }

protected void executeInternal(JobExecutionContext context)
    throws JobExecutionException {

    try {
        runMeTask.printMe();
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

  }
}

здесь, я вызываюметод контроллера, имеющий логику Второй класс RunMeTask

public class RunMeTask{
@Autowired
WorkOrderController workorderContoller; 

public void setWorkorderContoller(WorkOrderController workorderContoller) {
    this.workorderContoller = workorderContoller;
  }


public void printMe() throws ParseException {
    workorderContoller.printSysOut();
  }
}

1 Ответ

0 голосов
/ 06 июля 2018

Есть несколько сценариев, где вы можете получить такое поведение, пожалуйста, проверьте эту ветку: Java Spring @ Запланированные задачи, выполняемые дважды

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...