首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java project spring job 定时,该如何解决

2013-11-15 
java project spring job 定时如题 : 这样的如何配置 。希望给源码 。谢谢!!在线等!!!急!!![解决办法]临时写

java project spring job 定时
如题 : 这样的如何配置 。希望给源码 。谢谢!!java project spring job 定时,该如何解决  在线等!!!急!!!
[解决办法]
临时写的。
采用的 quartz-all-1.6.5.jar


import org.apache.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class SimpleJob implements Job {
private static final Logger LOGGER = Logger.getLogger(SimpleJob.class);


@Override
public void execute(JobExecutionContext arg0)
throws JobExecutionException {
LOGGER.info("start to work.");

}
}




import java.text.ParseException;
import java.util.Date;

import org.apache.log4j.Logger;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;

public class QuartzTest {
private static final Logger LOGGER = Logger.getLogger(QuartzTest.class);

public void runScheduler(String cronExpression) {
Scheduler scheduler = null;

try {
// Create a default instance of the Scheduler
scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
LOGGER.info("Scheduler was started at " + new Date());

// Create the JobDetail
JobDetail jobDetail = new JobDetail("PrintInfoJob",
Scheduler.DEFAULT_GROUP, SimpleJob.class);
// Create a CronTrigger
try {
CronTrigger trigger = new CronTrigger("CronTrigger", null,
cronExpression);

scheduler.scheduleJob(jobDetail, trigger);
} catch (ParseException ex) {
LOGGER.error("Error parsing cron expr", ex);

}

} catch (SchedulerException ex) {
LOGGER.error(ex);
}
}

/**
 * @param args
 */
public static void main(String[] args) {

String cronExpression = "0/5 * * * * ? *";
QuartzTest test = new QuartzTest();
test.runScheduler(cronExpression);
}

}

[解决办法]
package com.vista.quartz;

import  java.io.File;       

import  java.io.FileFilter;   



public class FileExtensionFileFilter implements  FileFilter 

{

     private  String extension;//文件后缀     

     

     public  FileExtensionFileFilter(String extension)

     {       

         this.extension = extension;

     }             

     public   boolean  accept(File file)

     {//只接受指定后缀的文件       

         // Lowercase the filename for easier comparison       

         String lCaseFilename = file.getName().toLowerCase();//小写化

         return  (file.isFile() &&(lCaseFilename.indexOf(extension) >  0 )) ?  true : false ;       

     }       

}
package com.vista.quartz;



import java.util.Date;       



import org.apache.commons.logging.Log;       

import org.apache.commons.logging.LogFactory;       

import org.quartz.JobDetail;

import org.quartz.Scheduler;       

import org.quartz.SchedulerException;       

import org.quartz.Trigger;

import org.quartz.TriggerUtils;

import org.quartz.impl.StdSchedulerFactory;



public class SimpleScheduler 

{



    static Log logger = LogFactory.getLog(SimpleScheduler.class);         

    public static void main(String[] args) 

    {       

         SimpleScheduler simple = new SimpleScheduler();       

         try

         {       

             // Create a Scheduler and schedule the Job       

             Scheduler scheduler = simple.createScheduler();       

             simple.scheduleJob(scheduler);       

    

             // Start the Scheduler running       

             scheduler.start();       

    

             logger.info( "Scheduler started at " + new Date());       

    

        } catch (SchedulerException ex) {       

             logger.error(ex);       

        }   

        

    }       

    public Scheduler createScheduler() throws SchedulerException 

    {//创建调度器       

        return StdSchedulerFactory.getDefaultScheduler();

    }   

    

    //Create and Schedule a ScanDirectoryJob with the Scheduler       

    private void scheduleJob(Scheduler scheduler) throws SchedulerException 

    {       

         // Create a JobDetail for the Job       

         JobDetail jobDetail = new JobDetail("ScanDirectory",Scheduler.DEFAULT_GROUP,ScanDirectoryJob.class); 

         // Configure the directory to scan       

         jobDetail.getJobDataMap().put("SCAN_DIR","D:\\Tomcat\\conf"); //set the JobDataMap that is associated with the Job.            

         // Create a trigger that fires every 10 seconds, forever       

         Trigger trigger = TriggerUtils.makeSecondlyTrigger(10);//每10秒触发一次       

         trigger.setName("scanTrigger");       

         // Start the trigger firing from now       

         trigger.setStartTime(new Date());//设置第一次触发时间            

         // Associate the trigger with the job in the scheduler       

         scheduler.scheduleJob(jobDetail, trigger);       

    }       

}
package com.vista.quartz;



import java.util.Date;       



import org.apache.commons.logging.Log;       

import org.apache.commons.logging.LogFactory;       

import org.quartz.JobDetail;

import org.quartz.Scheduler;       

import org.quartz.SchedulerException;       

import org.quartz.Trigger;


import org.quartz.TriggerUtils;

import org.quartz.impl.StdSchedulerFactory;



public class SimpleScheduler 

{

    static Log logger = LogFactory.getLog(SimpleScheduler.class);         

    public static void main(String[] args) 

    {       

         SimpleScheduler simple = new SimpleScheduler();       

         try 

         {       

             // Create a Scheduler and schedule the Job       

             Scheduler scheduler = simple.createScheduler();         

             // Jobs can be scheduled after Scheduler is running       

             scheduler.start();          

             logger.info("Scheduler started at " + new Date());         

             // Schedule the first Job       

             simple.scheduleJob(scheduler, "ScanDirectory1",ScanDirectoryJob.class,"D:\\conf1", 10);          

             // Schedule the second Job       

             simple.scheduleJob(scheduler, "ScanDirectory2",ScanDirectoryJob.class,"D:\\conf2 ", 15);       

        } 

        catch (SchedulerException ex)

        {       

             logger.error(ex);       

        }       

    }       

    public Scheduler createScheduler() throws SchedulerException 

    {//创建调度器       

        return StdSchedulerFactory.getDefaultScheduler();

    }   

    

    private void scheduleJob(Scheduler scheduler, String jobName,Class jobClass, String scanDir, int scanInterval) throws SchedulerException 

    {         

        // Create a JobDetail for the Job       

       JobDetail jobDetail = new JobDetail(jobName,Scheduler.DEFAULT_GROUP, jobClass);         

       // Configure the directory to scan       

       jobDetail.getJobDataMap().put("SCAN_DIR", scanDir);         

       // Trigger that repeats every "scanInterval" secs forever       

       Trigger trigger = TriggerUtils.makeSecondlyTrigger(scanInterval);         

       trigger.setName(jobName + "-Trigger");         

       // Start the trigger firing from now       

       trigger.setStartTime(new Date());         

       // Associate the trigger with the job in the scheduler       

       scheduler.scheduleJob(jobDetail, trigger);       

  }       

}

热点排行