2013-11-13 3 views
2

Я пытаюсь выполнить задание один на день в определенное время и при запуске сервера, чтобы убедиться, что данные обновлены. К сожалению, я не знаю, как настроить кварц для запуска при запуске сервера с помощью xml-файла. Вот мой график:Задача запуска кварца при запуске

<schedule> 
    <job> 
     <name>UpdateDashboardStats</name> 
     <group>UpdateDashboardStats</group> 
     <description>Updating Dashboard Statistics</description> 
     <job-class>utils.UpdateDashboardStats</job-class> 
    </job> 

    <trigger> 
     <cron> 
      <name>UpdateDashboardStats</name> 
      <job-name>UpdateDashboardStats</job-name> 
      <job-group>UpdateDashboardStats</job-group> 
      <!-- It will run at 1am every day --> 
      <cron-expression>0 0 1 * * ?</cron-expression> 
     </cron> 
    </trigger> 
    <trigger> 
     <simple> 
      <name>UpdateDashboardStatsStartup</name> 
      <job-name>UpdateDashboardStats</job-name> 
      <job-group>UpdateDashboardStats</job-group> 
      <description>Run once at startup</description> 
      <misfire-instruction>SmartPolicy</misfire-instruction> 
      <repeat-count>0</repeat-count> 
      <repeat-interval>10</repeat-interval> 
     </simple> 
    </trigger> 
</schedule> 
+0

как названный zerologiko Кварцевый планировщик должен работать, чтобы выбрать кварц xml. Как вы проверяете, работает ли планировщик Quartz. – Acewin

ответ

1

Я не думаю, что можно запустить планировщик, используя только конфигурацию XML: Вы также должны строить и начать экземпляр планировщика. Просто запустите планировщик программно с помощью:

scheduler = new StdSchedulerFactory("quartz.properties").getScheduler(); 
try { 
    scheduler.start(); 
} catch (SchedulerException e) { 
    logger.error("Error getting scheduler status", e); 
} 

Этого достаточно, чтобы огнь триггеров, определенных в XML (ссылки в quartz.properties).


..но если вы используете контейнер (например, Apache Tomcat), используйте Слушатель или Servlet начать планировщик, используя только XML. См. Официальную документацию this.

+0

Слушатель работает и работает на кроне. Но моя проблема в том, что я хочу запустить эту конкретную работу и при запуске сервера. – J33nn

+0

Вы уверены, что работа cron работает. – Acewin

+0

Да, я уверен, что работа на кроне работает. – J33nn

0

как zerologiko упомянутый планировщик кварца должен работать, чтобы выбрать кварц xml.

Как вы проверяете, работает ли планировщик Quartz.

Можете ли вы указать, работает ли ваша работа в назначенное время. Сделать его запуск в первый раз было бы легко.

Как у вас уже есть работа. Вы можете выполнить его как отдельное планирование, которое не будет повторяться. Выполняется только один раз

+0

Кварц работает с использованием прослушивателя, и работа над кроной выполняется точно. – J33nn

Смежные вопросы