您的位置:程序门 -> java -> j2ee / ejb / jms



有关 定时触发器


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


有关 定时触发器[已结贴,结贴人:blackhorse_lj]
发表于:2007-08-21 11:59:36 楼主
我正在用定时触发器做一个短信系统,用的是scheduler定时器,但是当遇到定时表达式的时候遇到问题:
crontrigger   trigger   =   new   crontrigger( "trigger ", "group ", "job ", "group ",cronexpression);
也就是cronexpression   ,我想请各位给我解释下     0   0/10   0-23   *   *   ?     是什么意思,我的个人理解是每隔整十分定时触发,可是事实并非如此   ,希望大家给我解释下     ,我的博客:http://blog.sina.com.cn/blackhorseblog
发表于:2007-08-21 13:09:551楼 得分:70
quartz   corn表达式
  0   0/10   0-23   *   *   ?  
0-23点间   每10分钟
发表于:2007-08-21 13:50:202楼 得分:10
每隔10分钟应这样:
0   0,10,20,30,40,50   *   *   *   ?
发表于:2007-08-21 13:54:593楼 得分:0
对不起,你们的更对
发表于:2007-08-21 15:46:364楼 得分:0
能不能把这个定时触发器的流程告诉我一下啊,这个表达式是没问题了.
在servlet的init()方法里启动了该触发器
jobdetail   job   =   new   jobdetail( "job ",   "group ",   sendjob.class);

//   启动一个定时器
schedulerfactory   sf   =   new   stdschedulerfactory();
sched   =   sf.getscheduler();

//得到定时器表达式
string   cronexpression   =   config.getinitparameter( "cronexpression ");
crontrigger   trigger   =   new   crontrigger( "trigger ", "group ", "job ", "group ",cronexpression);

sched.addjob(job,   true);
sched.schedulejob(trigger);

sched.start();


sendjob   是个发送短信的业务类     ,但是在servlet的service里调用了发送短信的业务方法,我老觉得那个定时器和这个发送短信的业务方法没有什么关联     ,还请各位给解释一下         谢谢了   ...
发表于:2007-08-24 07:41:245楼 得分:20
sendjob要实现job接口
下面是个完整的演示程序
package   test;

import   java.text.parseexception;
import   java.util.map;

import   org.quartz.crontrigger;
import   org.quartz.jobdetail;
import   org.quartz.scheduler;
import   org.quartz.schedulerexception;
import   org.quartz.trigger;
import   org.quartz.impl.stdschedulerfactory;

public   class   crontriggerexample   {

public   static   void   main(string[]   args)   throws   schedulerexception,   parseexception   {
scheduler   scheduler=new   stdschedulerfactory().getscheduler();
scheduler.start();
jobdetail   jobdetail=new   jobdetail( "messagejob ",scheduler.default_group,messagejob.class);
map   map=jobdetail.getjobdatamap();
map.put( "message ", "this   is   a   message   from   quartz ");
string   cronexpression= "*   0/10   0-23   *   *   ? ";
trigger   trigger=new   crontrigger( "crontrigger ",scheduler.default_group,cronexpression);
scheduler.schedulejob(jobdetail,trigger);
}

}

package   test;

import   java.util.map;

import   org.quartz.job;
import   org.quartz.jobEXECutioncontext;
import   org.quartz.jobEXECutionexception;

public   class   messagejob   implements   job   {

public   void   EXECute(jobEXECutioncontext   context)   throws   jobEXECutionexception   {
map   properties=context.getjobdetail().getjobdatamap();
system.out.println( "previous   fire   time:   "+context.getpreviousfiretime());
}

}


快速检索

最新资讯
热门点击