2012-02-13 63 views
0

我有已經寫了一個命令來創建數據庫 是石英調度與批處理文件

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

的備份我已創建的控制器的批次(BACKUP.BAT)file.in調用這個批處理文件。 即低於

< 
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映射即下面

給予 - 開始工作日程安排應用程序備份控制器 - >

<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> 

問題是按照給定的時間控制器shuld搜索並調用批處理文件執行,但它說批處理文件沒有找到。

shuld我放置批處理文件。

相同的代碼在spring 2.0中成功運行,nw我已經遷移到spring 3. shuld我放置我的批處理文件。

我正在使用eclipse indigo ...?還有一件事是這樣做或者其他方式的最好方法也是在那裏..如果有請讓我知道。

回答

0

在您的環境中只需設置Backup.batpath變量

+0

我已經設置了路哥...設置PATH =%PATH%; C:\ Program Files文件\的MySQL \ MySQL服務器5.1 \ BIN;你告訴我把backup.bat的環境放在環境中 – viquar 2012-02-14 06:12:56

+0

不,首先你需要手動設置路徑,這樣BAT文件纔會被解析,所以將bat文件添加到路徑第一個 – 2012-02-14 06:19:33

+0

兄弟,我要設置路徑變量像這樣%path%; C:\ Program Files \ MySQL \ MySQL Server 5.0 \ bin; C:\ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ Backup.bat;這是正確的嗎。 – viquar 2012-02-14 06:28:56