Планирование весеннего кварца - PullRequest
0 голосов
/ 20 мая 2011

В моем приложении требуется возможность создания запланированных заданий для автоматического резервного копирования базы данных sql

Можно ли использовать Spring Quartz Scheduling для создания этих заданий?

Любая помощь будет полезна.

Amulraj.P

1 Ответ

1 голос
/ 20 мая 2011

Да, вы можете, хотя это кажется немного излишним.Резервное копирование базы данных MSSQL можно выполнить с помощью инструментов командной строки, которые можно легко запланировать для запуска с использованием cron, если вы используете Unix или запланированные задачи в Windows.

%PATH_TO_SQL_SERVER%\Tools\Binn\osql.exe
-E -Q "BACKUP DATABASE mydb TO DISK='%PATH_TO_BKP%\db.bak' WITH FORMAT"

На ваш вопрос ответ выглядит примерно так: (бесстыдное самокопирование из здесь )

Задание, относящееся к вашему бизнес-объекту с методомкоторый заботится о резервном копировании:

<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  <property name="targetObject" ref="exampleBusinessObject" />
  <property name="targetMethod" value="backupDB" />
  <property name="concurrent" value="false" />
</bean>

Триггер, который заботится о срабатывании метода:

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail" ref="exampleJob" />
  <!-- run every morning at 6 AM, use regular cron expressions-->
  <property name="cronExpression" value="0 0 6 * * ?" />
</bean>

SchedulerFactoryBean для подключения триггера:

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
    <list>
      <ref bean="cronTrigger" />
    </list>
  </property>
</bean>

См. Далее в Пружинная документация для 2,5, здесь для 3,0.

...