要实现模拟Windows下的“任务计划”来实现一个任务调度模块。
打算用Quartz来做,但我以前都没用过这框架,刚来实习,鸭梨很大啊。
这东西又不好自己做实验。
---------------------------------------------------------------------------------------------
问题:
1. 如果月份指定是4,然后DayofMonth字段指定是5/1,表示5号开始每隔1天任务执行一次,那到5月份时,1号或2号会不会执行任务,还是5月份也要等到5号以后才会执行任务。2. DayofMonth和DayofWeek字段的“C”表示什么意思。
3. DayofWeek的“#”表示什么意思
最好能举个例子,谢谢。
---------------------------------------------------------------------------------------------
帮帮忙啊,我QQ:328735262,就20分了- -。

解决方案 »

  1.   

    LZ去看看我的这个资源
    http://download.csdn.net/source/2582593
      

  2.   

    1. 5月1号不会、5月的任何一天都不会
    2. 在Quzrtz2.0的文档里已经看不到'C'了,一些老的文档里解释是“日历关联”的,猜测跟W的作用类似,因为不同的日历系统有各自的每周起始日
    3. 表示“第几个星期几”,例如3#2表示第2个周四
      

  3.   

      "#"字符可用于"周几"字段,该字段表示"该月第几个周X",比如"6#3"表示该月第三个周五。
      "C"字符可用于"日"和"周几",表示基于相关的日历所计算出的值(如果有相关日历的话),如果没有,那它等同于包含全部日历,"日"字段值为"5C"表示日历中的第一天或者5号以后,"周几"字段值为"1C"则表示日历中的第一天或者周日以后。
      

  4.   


    Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
    scheduler.addJobListener(new MyJobListener());
    JobDetail myJob = new JobDetail("myJob1", Scheduler.DEFAULT_GROUP,
    MyJob1.class);
    Trigger trigger = new SimpleTrigger("myTrigger1",
    Scheduler.DEFAULT_GROUP, 5, 10 * 1000);
    scheduler.scheduleJob(myJob, trigger);
    scheduler.start();我添加了一个JobListener,怎么里面的方法,在JobDetail被执行时没有被调用呢?
      

  5.   

    使用scheduler.addGlobalJobListener(new MyJobListener());
    添加全局的Listener就好了,上面那个是局部的,还需要给myJob也加上Listener。
    ------------------------------------------------------------------------
    也给下一个搜索的人点帮助。
      

  6.   

    Cron表达式的问题.
    异常信息为:
    Exception in thread "main" org.quartz.SchedulerException: Based on configured schedule, the given trigger will never fire.
    at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:796)
    at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:243)
    at wen.hui.quartz.test.MyQuartzServer.startScheduler(MyQuartzServer.java:35)
    at wen.hui.quartz.test.MyQuartzServer.main(MyQuartzServer.java:19)
    网上看了下, 说这个异常是由于: 被quartz调度的某个任务job的触发者cronTrigger的触发时间通过cron表达式配置了个不合法或过去的时间;该job永远不会被执行到.
    我的Cron表达式是下面这个:
    表示每天的下午17点40分调度一次任务,  为什么还是报上面这个异常.Trigger trigger = new CronTrigger("0 40 17 ? * 1-7");