如题 : 这样的如何配置 。希望给源码 。谢谢!!  在线等!!!急!!!

解决方案 »

  1.   

    不是 java web project 。
      

  2.   

    你要的就是JOB定时任务。用Quartz框架。和spring有什么关系?
      

  3.   

      就是不在tomcat 下跑的 job 定时。
      

  4.   


    java有自带类Timer可以处理简单的定时任务。
    网上也有很多框架提供这种支持,比如2楼所说的Quartz
      

  5.   


    java有自带类Timer可以处理简单的定时任务。
    网上也有很多框架提供这种支持,比如2楼所说的Quartz他要的是现成的代码,不是解决的方案。
      

  6.   

    临时写的。
    采用的 quartz-all-1.6.5.jarimport 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);
    }}
      

  7.   


    private final static Logger log = Logger.getLogger(SpmApp.class);
        public static final String[] APPLICATION_CONTEXT_FILES = new String[] { "applicationContext.xml" };  // 加载配置文件 初始化启动
    public static ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(APPLICATION_CONTEXT_FILES);
        
    /**
     * 
    * @Title: main 
    * @Description: 主方法
    * @param @param args
    * @param @throws UnknownHostException    设定文件 
    * @return void    返回类型 
    * @throws
     */
        public static void main(String[] args) throws UnknownHostException {
         // 启动定时任务
    //     Timer timer1 = new Timer();
    //     Timer timer2 = new Timer();
    //     EnterCardTimerTask enterTimerTask = new EnterCardTimerTask();
    //     OutCardTimerTask outTimerTask = new OutCardTimerTask();
    //     timer1.schedule(enterTimerTask, 100, 3000);
    //     timer2.schedule(outTimerTask, 100, 10000);
        
         // 配置、启动 webservice
            String ip = SpmPropertie.getProperty("ip");// 获得本机IP
            String port = SpmPropertie.getProperty("port", "8086");        String address = "http://" + ip + ":" + port + "/services/SpmWebService";        Endpoint.publish(address, new MiddlewareWebService());
            log.info("Web Service(" + address + "?wsdl) 已启动.");
            
        }<bean id="missionJob" class="org.springframework.scheduling.quartz.JobDetailBean">
        <property name="jobClass" value="cn.org.timespace.middleware.Mission"></property>
    </bean>

    <bean id="enterTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="missionJob"></property>
        <property name="cronExpression">
         <value>0/2 * * * * ? *</value>
        </property>
    </bean>

    <bean id="scheduledFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
       <property name="triggers">
         <list> 
           <ref bean="enterTriggerBean"/>
         </list>
       </property>
       </bean>
      已经解决
      

  8.   

    timer 定时器有问题,不稳定。如果异常抛的久了,它会罢工,没办法就试试spring了!不过还是感谢给位滴!
      

  9.   

    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);         }       }
      

  10.   

    你下次把你的问题描述的清晰一点。看了你上面的代码,你的意思是启动spring,而不是嵌入web的启动。这个很简单啊。可以FileSystemXmlApplicationContext 或者你上面写的 ClassPathXmlApplicationContext。只要一调用上面的2个类,生成他们的实例,这个spring的容器就启动了。你把Quartz的Spring配置进去就行了。spring的文档里面写的很全。