高手请进 Quartz调度器的问题(急)

garnettcwm 2008-09-28 02:19:12
本人新手,想在SSH框架中用quartz实现定时器功能。目前遇到的问题是我想定时多个job(类似于备忘录),而这些job是存储在数据库中,定时任务是由客户制定生成的,并且任务的定时是由客户制定的,如客户在页面添加备忘信息两条,分别按不同的Cron Expression(时间规律)去提醒,如一条是提醒十一放假,在9月30号中午12点提醒。再一条每天下午6点提示下班打卡 等等很多提醒任务
请问如何在框架中配置以及简单的实现想法

...全文
211 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_2001 2010-06-21
  • 打赏
  • 举报
回复
mark
yoyo82 2008-09-28
  • 打赏
  • 举报
回复
mark
無名VF 2008-09-28
  • 打赏
  • 举报
回复
UP 学习......
归来的云 2008-09-28
  • 打赏
  • 举报
回复
如果使用main函数调用的话,最好单独启一个线程,来对他进行监控,如果是web程序的话使用ContextListener来对他进行实时监控,在里面他会重新启动一个线程来进行监控,总之,定时任务调度,无论哪种方式都有一个线程在对他进行监控的
garnettcwm 2008-09-28
  • 打赏
  • 举报
回复
调用代码卸载方法里面,比如说
public void updateNotificationInterval(String triggerName, String triggerId)
7 throws SchedulerException, ParseException {
8 // 得到trigger
9 CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger(
10 triggerName, Scheduler.DEFAULT_GROUP);
11 // 得到cron expression
12 String cronExpression = schedulerDAO.getCronExpression(triggerId);
13 // 设置trigger的时间规则
14 trigger.setCronExpression(cronExpression);
15 // 重置job
16 scheduler.rescheduleJob(triggerName, Scheduler.DEFAULT_GROUP, trigger);
17 }


方法不时只有被调用时才会执行吗? 那怎么让这个方法一直处于调用状态? 还是只要调用一次这个方法,quartz就已经处于启动状态了,可以一直监视任务了????
justin_wd 2008-09-28
  • 打赏
  • 举报
回复
可以设置几个的调度工厂了,又不会产生冲突!
归来的云 2008-09-28
  • 打赏
  • 举报
回复
你用ssh框架的话,那么定时任务调度就可以使用spring的任务调度方法,在spring配置文件中配置好各个定时JOB,然后,再配置到下面配置文件中:
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="simpleTrigger"/>
<ref local="cronTrigger"/>
<ref local="cronDbTrigger"/>
<ref local="sendEmailTrigger"/>
</list>
</property>
<property name="quartzProperties">
<props>
<prop key="org.quartz.threadPool.threadCount">2</prop>
</props>
</property>
</bean>


这是一个定时任务工厂。

 <ref local="simpleTrigger"/>
<ref local="cronTrigger"/>
<ref local="cronDbTrigger"/>
<ref local="sendEmailTrigger"/>

这里每个都是一个任务调度。

你的应该是web程序吧,这样在web.XML中配置

 <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

对任务进行实时监控,这样到时间就会执行定时任务调度了,至于让用户配置动态时间提醒,这个以前没有做过,不过只要原理懂了,也没什么问题吧
laorer 2008-09-28
  • 打赏
  • 举报
回复
难道服务器启动了这个就会一直处于执行状态?

一直处于运行状态,但是属于后台线程

并且Cron Expression还是从数据库中读出来后组装的
这个是在xml 中设置的吧,我记得 spring的cron 可以在xml中设置
garnettcwm 2008-09-28
  • 打赏
  • 举报
回复
大家帮帮忙啊 怎么让多个job同时执行啊。。。。。。。。。。。。。急啊。。。。。。。。。。。。
garnettcwm 2008-09-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kokobox 的回复:]
可以动态设置quartz时间

看看下面的文章,很详细:

http://ziyu-1.javaeye.com/blog/209619
[/Quote]

请说下在框架中怎么配置啊 比如说如果是在main函数里面的话 直接运行就可以执行quartz 但是在框架中,难道服务器启动了这个就会一直处于执行状态? 并且Cron Expression还是从数据库中读出来后组装的
kokobox 2008-09-28
  • 打赏
  • 举报
回复
可以动态设置quartz时间

看看下面的文章,很详细:

http://ziyu-1.javaeye.com/blog/209619

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧