写一个applicationContext-quartz.xml作为spring的插入quartz管理的配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="applicationContextSchedulerContextKey" value="applicationContextKey"/>
<property name="configLocation" value="classpath:quartz.properties"/>
<property name="triggers">
<list>
<ref bean="trigger1"/>
<ref bean="trigger2"/>
</list>
</property>
</bean>
<bean id="jobDetail1" class="frameworkx.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="simpleService"/>
<property name="targetMethod" value="testMethod1"/>
<property name="shouldRecover" value="true"/>
</bean>
<bean id="trigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail1"/>
<property name="cronExpression" value="0/5 * * ? * * *"/>
</bean>
<bean id="jobDetail2" class="frameworkx.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="simpleService"/>
<property name="targetMethod" value="testMethod2"/>
<property name="shouldRecover" value="true"/>
</bean>
<bean id="trigger2" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="jobDetail2"/>
<property name="startDelay" value="1"/>
<property name="repeatCount" value="100"/>
<property name="repeatInterval" value="1000"/>
</bean>
</beans>
很明显,这里jobdetail使用的是frameworkx.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean
因为之前如果使用org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean会出现一系列序列化问题,这里我们直接使用几个牛人写的这2个类来覆盖使用。
如果是配置集群quartz,让我们来关注下位于classpath:quartz.properties的这个配置文件。
#==============================================================
#Configure Main Scheduler Properties
#==============================================================
org.quartz.scheduler.instanceName = TestScheduler1
org.quartz.scheduler.instanceId = AUTO
#==============================================================
#Configure ThreadPool
#==============================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
#==============================================================
#Configure JobStore
#==============================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.maxMisfiresToHandleAtATime=10
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 20000
具体里面很多配置的信息可以自己上网搜索,必须的也就是这几个,isClustered=true就是用来设置配置多节点集群的。使用中心数据库集群的方式需要的sql脚本就在quartz源代码包里面的doc-->dbTable里面有。
还有需要说明的是一些关于对象序列话的问题,quartz建立集群需要所有jobdetail里面的对象具有序列化能力,当然实现Serializable接口是必须的。如果里面有些你不想序列化的对象可以使用java的transient关键字来控制。例如一个spring的service:
private transient PostIndexService postIndexService;
下面放出几个例子供以后参考用。还有需要了解的基本上网上可以搜索到,包括quartz.properties里面配置quartz的插件,网上也可以搜索的到。这里我就不写了。
转载一篇不错的关于quartz的文章:
http://wordpress.huabaner.net/?p=327
分享到:
相关推荐
它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行...
前言:8月份翻译了Quartz.NET的官方课程:开源的作业调度框架 - Quartz.NET, 有的朋友抱怨难用,确实,目前Qiartz.NET的最新版本还是0.6,还...它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。
内容提要:如何配置使 Quartz 节点工作在集群环境中。 第十一章. Quartz 集群 (第四部分) 内容提要:运行 Quartz 集群节点,及提供了一个关于使用 Quartz 集群的 Cookbook 参考。 第十二章. Quartz Cookbook (第一...
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计...它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。 quartz.net是java的.net移植版本,用法一样。
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 ...它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 该附件是个实例,使用quartz.net 2.1.2版本编写,可以正常运行,欢迎下载使用
Quartz 2.0.2 API chm 带索引和全文检索,方便携带和查询 Quartz是一个开源的作业调度框架,它完全由Java写...它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。
它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在...
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵 活性而...它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。
作业调度框架插件及帮助文档,Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp...它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。
它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。 从之前发布其他chm文件下载用户的反映看,有不少朋友反映下载后打开无法显示,这一般不是chm文件的问题,...
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。...它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不...它有很多特征,如:数据库支持,集群,插件,EJB作业预构建,JavaMail及其它,支持cron-like表达式等等。
它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 通俗说它的功能是:比如说我想每天晚上2点让程序或网站执行某些代码,或者每隔5秒种我想查看是否有新的任务要处理等。 Quartz.Net是根据Java...
Quartz是一个开源的作业调度框架,它完全由 Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而...它有很 多特征,如:数据库支持,集群,插件,EJB作业预构建,JavaMail及其它,支持cron-like表达式等等.
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不...它有很多特征,如:数据库支持,集群,插件,EJB作业预构建,JavaMail及其它,支持cron-like表达式等等。
Quartz.NET是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#写成,可用于winform和asp.net应用中。...它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等
《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...
《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...
平台基于quartz.net进行任务调度功能开发,采用C#代码编写, 支持corn表达式和第三方自定义的corn表达式扩展。 架构以插件形式开发,具有良好的功能扩展性,稳定性,简单性,便于第三方开发人员进一步进行功能扩展。...