求String quartz ,别跟我说什么baidu,google上去找,谁给我例子,分就全是你的!谢谢  !!!

解决方案 »

  1.   

    大虾们,sos  速度呀,
      

  2.   

    Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。
    我给个例子,给你,很容易懂得……simpleTrigger和CronTrigger,对于更具体得调度采用后者。所以我使用得是后者触发器。可以具体到某天某时出发事件发生。
     package p1;import java.net.URL;
    import java.util.Calendar;
    import java.util.Date;import javax.xml.namespace.QName;import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import org.quartz.CronExpression;
    import org.quartz.CronTrigger;
    import org.quartz.Job;
    import org.quartz.JobDetail;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.quartz.Scheduler;
    import org.quartz.SchedulerException;
    import org.quartz.SchedulerFactory;
    import org.quartz.SimpleTrigger;
    import org.quartz.impl.StdSchedulerFactory;public class ObjectClientTest implements Job{
    /*
     * 定时调用方法
     */
    static OrderBean order=new OrderBean();
    static OrderBean ob=new OrderBean();
    static Call call= null;
    static String targetPoint="http://localhost:8080/releaseByAxis/services/ProcessObject";
    static Service service=new Service();
    public void task() throws SchedulerException
        {
    /*-------------------SimpleTrigger调度----------------*/
            //通过SchedulerFactory来获取一个调度器
    //        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
    //        Scheduler scheduler = schedulerFactory.getScheduler();       
    //        //引进作业程序
    //        JobDetail jobDetail = 
    //        new JobDetail("jobDetail-s1","jobDetailGroup-s1", ObjectClientTest.class);
    //         //new一个触发器
    //        SimpleTrigger simpleTrigger = 
    //        new SimpleTrigger("simpleTrigger", "triggerGroup-s1");
    //        //设置作业启动时间
    //        long ctime = System.currentTimeMillis(); 
    //        simpleTrigger.setStartTime(new Date(ctime));
    //        //设置作业执行间隔,以毫秒为单位
    //        Date now=new Date();
    //        Calendar c=java.util.Calendar.getInstance();
    //        c.setTime(now);
    //        simpleTrigger.setRepeatInterval(10000);
    //        //设置作业执行次数
    //        simpleTrigger.setRepeatCount(10);
    //        //设置作业执行优先级默认为5
    //        //simpleTrigger.setPriority(10);
    //        //作业和触发器设置到调度器中
    //        scheduler.scheduleJob(jobDetail, simpleTrigger);
    //        //启动调度器
    //        scheduler.start();
    /*-------------------CronTrigger调度----------------*/
    //CronTrigger 支持比 SimpleTrigger 更具体的调度,而且也不是很复杂。
    //基于 cron 表达式,CronTrigger 支持类似日历的重复间隔,而不是单一的时间间隔 —— 这相对 SimpleTrigger 而言是一大改进。 
      // Initiate a Schedule Factory
            SchedulerFactory schedulerFactory = new StdSchedulerFactory();
            // Retrieve a scheduler from schedule factory
            Scheduler scheduler = schedulerFactory.getScheduler();
            
            // current time
            long ctime = System.currentTimeMillis(); 
            
            // Initiate JobDetail with job name, job group, and executable job class
            JobDetail jobDetail = 
             new JobDetail("jobDetail2", "jobDetailGroup2", ObjectClientTest.class);
            // Initiate CronTrigger with its name and group name
            CronTrigger cronTrigger = new CronTrigger("cronTrigger", "triggerGroup2");
    //        cronTrigger.setEndTime(endTime)
            try {
                // setup CronExpression
                CronExpression cexp = new CronExpression("0 8 11 ? * * ");
                // Assign the CronExpression to CronTrigger
                cronTrigger.setCronExpression(cexp);
            } catch (Exception e) {
                e.printStackTrace();
            }
            // schedule a job with JobDetail and Trigger
            scheduler.scheduleJob(jobDetail, cronTrigger);
            // start the scheduler
            scheduler.start();
            
        }
    public void execute(JobExecutionContext context) throws JobExecutionException 
    {
    //设置需要定时执行的任务
    try {
    Call call= (Call) service.createCall();
    /*下面三行是传递自定义对象时特有的三行*/
    QName qn = new QName("urn:ProcessObject", "Order"); 
    //这里得order与wsdd文件中得myNs后得内容是一致得 
    call.registerTypeMapping(OrderBean.class, qn,   
       new org.apache.axis.encoding.ser.BeanSerializerFactory(OrderBean.class, qn),           
       new org.apache.axis.encoding.ser.BeanDeserializerFactory(OrderBean.class, qn));  
    //
    call.setTargetEndpointAddress(new URL(targetPoint));
    call.setOperationName(new QName("ProcessObject","process"));
    order = (OrderBean)call.invoke(new Object[]{ob});
    System.out.println("name:"+order.getName());
    } catch (Exception e) {
    e.printStackTrace();
    } }
    public static  void main(String[] args) throws SchedulerException {
    ob.setAge(21);
    ob.setName("xhf");
    String[] items={"ipod","thinkpad"};
    int[] price={11,12};
    ob.setItems(items);
    ob.setPrice(price);
    ob.setChecked(false);
    ObjectClientTest oct=new ObjectClientTest();
    oct.task();
    }}
    这样就ok了,你试试
      

  3.   

    注意execute方法中,是你要调度得事件,你可以把我的给换掉,我那时调用webservice方法的,你可以很简单得输出一句话试试看效果。
      

  4.   

    http://blog.csdn.net/alex197963  你有有个很详细的帖子
      

  5.   

    Quartz在Spring中动态设置cronExpression研究
      

  6.   

    http://1985wanggang.blog.163.com/blog/static/776383320091110255979/
    看看这个,Spring的:
    表达式意义 "0 0 12 * * ?" 每天中午12点触发 "0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发 "0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 
    >>>>>>>>>>>>>>>>>>>>>>>
    其实只是表达式的问题