带有批处理文件的弹簧3中的石英调度

时间:2012-02-13 14:12:11

标签: spring-mvc quartz-scheduler

我有一个批处理(backup.bat)file.in我已经编写了一个命令来创建数据库的备份

<
set path=%path%;C:\Program files\MySQL\MySQL Server 5.1\bin;
mysqldump -u `root` -padmin -B jewellery > backup\jewellery.sql
exit
>

我创建了一个控制器来调用这个批处理文件。 这在下面给出

<
public class JobScheduleController extends QuartzJobBean {
      protected void executeInternal(JobExecutionContext ctx) throws JobExecutionException {
          // check FTP
          try {
                Runtime rt = Runtime.getRuntime();
                rt.exec("cmd.exe /c start Backup.bat");
.....
.....
......
catch(Exception ex){
                ex.printStackTrace();
                }
      }
}
>

即使我已经在bean.xml中给出了下面给出的映射

! - 启动应用程序备份控制器的作业计划 - &gt;

<bean name="jobScheduleController" class="org.springframework.scheduling.quartz.JobDetailBean">
  <property name="jobClass" value="com.jewellery.web.JobScheduleController" />
</bean>

<bean id="cronjobScheduleController" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="jobScheduleController" />
    <!-- run at 11 am (0  0  11  ?  *  *") (Seconds,Minutes,Hours,Day-of-Month,Month,Day-of-Week) -->
    <property name="cronExpression" value="0 0 11 ? * *" />
</bean>

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

问题是按照给定的时间控制器调整搜索并调用批处理文件来执行。但它表示找不到批处理文件。

我在那里放置批处理文件。

相同的代码在2.0版本中运行得很顺利,但是我已经迁移到了第3版。 shuld我放置我的批处理文件。?

我正在使用eclipse indigo ......?还有一件事是这是最好的方式,或者其他方式也是如此......如果有点让我知道。

1 个答案:

答案 0 :(得分:0)

只需在您的环境Backup.bat变量

中设置path即可