spring quartz定时器的简单配置使用以及常见问题解答
2017-07-14 19:23
846 查看
Spring当中有几种定时器的方法,而quartz是使用比较广泛的一种方法,相较于自己在代码中用thread、timerTask和Timer等方法, quartz无疑更简单。第一次上手quartz时关于Spring的架构还不清楚,不过好在网上连接很多,自己也是摸索了好半天才配置好。现在把自己的完整配置过程给大家讲一下。
第一步首先就是到网上下载合适的quartz.jar包。我自己下载的是2.2.2版本的,网上还有说需要commons-collections.jar、commons-logging.jar、log4j以及spring.jar包,自己工程已经有了,也没下。
重点来了,需要自己到网上下载或者配置以下文件,包括org.springframework.spring-tx.4.2.4.release.jar包,以及org.springframework.spring-context-support.4.2.4.release.jar,版本依据自己的工程可以不同,这个我也是借鉴了 Defonds
的专栏 - CSDN博客 http://blog.csdn.net/defonds/article/details/49496895 里面所写。要在工程根目录的pom.xml中进行,如下图所示。
然后按照规范将这些jar包拷贝到上述本地目录下,具体怎么拷贝怎么命名自己可以再搜,网上很多。 <bean id="recycleUtil" class="com.navinfo.had.validator.impl.RecycleUtil" scope="prototype" >
<property name="dbhelp" ref ="dbHelper" />
</bean>
<bean id="QuartzJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref ="recycleUtil" />
<property name="targetMethod" value="recycle" />
</bean>
<bean id="QuartzJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="QuartzJobDetail" />
</property>
<property name="cronExpression">
<value>0 0/1 * * * ?</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no">
<property name="triggers">
<list>
<ref bean="QuartzJobTrigger" />
</list>
</property>
</bean> 接下来就是调度的问题了,其实蕃薯耀 - ITeye博客 http://fanshuyao.iteye.com/blog/2309223以及Defonds 的专栏 - CSDN博客 http://blog.csdn.net/defonds/article/details/49496895 写的很详细,大家在写的时候可能会遇到很多参数不知道要不要改,改那个的问题,以我写的为例的话,其实大家主要关注的就是第一行中recycleUtil是要自己命名的,class也是自己工程中触发的类名称,这个是自己要调用的类的bean名,在代码第5行中要引用,第二行的代码可以忽略不计。第6行中的recycle即为
第一步首先就是到网上下载合适的quartz.jar包。我自己下载的是2.2.2版本的,网上还有说需要commons-collections.jar、commons-logging.jar、log4j以及spring.jar包,自己工程已经有了,也没下。
重点来了,需要自己到网上下载或者配置以下文件,包括org.springframework.spring-tx.4.2.4.release.jar包,以及org.springframework.spring-context-support.4.2.4.release.jar,版本依据自己的工程可以不同,这个我也是借鉴了 Defonds
的专栏 - CSDN博客 http://blog.csdn.net/defonds/article/details/49496895 里面所写。要在工程根目录的pom.xml中进行,如下图所示。
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${springframework.version}</version> </dependency> <!-- Transaction dependency is required with Quartz integration --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${springframework.version}</version> </dependency> <!-- Quartz framework --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>${quartz.version}</version> </dependency> </dependencies>图中${springframework.version}如果按照我的版本来的话就填4.2.4.release。此外,如果这些jar包如果配置完后如果还报错,说明你的:\.m2\repository目录下没有这些Jar包,需要网上下载,给个下载地址链接:http://search.maven.org/#search%7Cga%7C1%7C
然后按照规范将这些jar包拷贝到上述本地目录下,具体怎么拷贝怎么命名自己可以再搜,网上很多。 <bean id="recycleUtil" class="com.navinfo.had.validator.impl.RecycleUtil" scope="prototype" >
<property name="dbhelp" ref ="dbHelper" />
</bean>
<bean id="QuartzJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref ="recycleUtil" />
<property name="targetMethod" value="recycle" />
</bean>
<bean id="QuartzJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="QuartzJobDetail" />
</property>
<property name="cronExpression">
<value>0 0/1 * * * ?</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no">
<property name="triggers">
<list>
<ref bean="QuartzJobTrigger" />
</list>
</property>
</bean> 接下来就是调度的问题了,其实蕃薯耀 - ITeye博客 http://fanshuyao.iteye.com/blog/2309223以及Defonds 的专栏 - CSDN博客 http://blog.csdn.net/defonds/article/details/49496895 写的很详细,大家在写的时候可能会遇到很多参数不知道要不要改,改那个的问题,以我写的为例的话,其实大家主要关注的就是第一行中recycleUtil是要自己命名的,class也是自己工程中触发的类名称,这个是自己要调用的类的bean名,在代码第5行中要引用,第二行的代码可以忽略不计。第6行中的recycle即为
com.navinfo.had.validator.impl.RecycleUtil中的方法名,一定要完全对应好。剩下的参数大可按照我写的不用改动。需要注意的是这个方法要是无参的,如果需要传递的参数的话,可以按照如下进行更改
<bean id="QuartzJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref ="recycleUtil" /> <property name="targetMethod" value="recycle" />
<property name="arguments" value="D:/" /></bean>
相关文章推荐
- 关于tomcat/jdk/Jcreator配置和使用的全面讲解以及常见问题解答
- Linux环境下ffmpeg的配置步骤以及简单的使用命令
- spark1.0属性配置以及spark-submit简单使用
- Spring笔记(一)---myeclipse2014配置spring以及简单使用
- Linux上go的安装配置以及简单使用
- log4j的配置以及简单使用
- Android Studio 的简单配置使用以及各文件用途(一)
- Hadoop详解(七)——Hive的原理和安装配置和UDF,flume的安装和配置以及简单使用,flume+hive+Hadoop进行日志处理
- 简单两步快速实现shiro的配置和使用,包含登录验证、角色验证、权限验证以及shiro登录注销流程(基于spring的方式,使用maven构建)
- iOS开发:给项目工程里面添加Podfile配置文件,以及CocoaPods的简单使用
- iOS开发:给项目工程里面添加Podfile配置文件,以及CocoaPods的简单使用
- maven的配置以及简单使用
- Spring MVC上传文件MultipartFile配置以及简单使用
- 简单两步快速实现shiro的配置和使用,包含登录验证、角色验证、权限验证以及shiro登录注销流程
- putty窗口标题修改、字体颜色修改等简单配置以及putty多开工具mtputty的使用
- Vue------第五天(Vue的Ajax请求,使用Axios,目前熟悉了一下,主要包括GET请求、POST请求、并发请求、请求参数的配置、服务器响应的结构以及对服务器响应错误的简单处理)
- Linux环境下ffmpeg的配置步骤以及简单的使用命令
- springmvc和struts2拦截器的简单使用以及配置
- Spring在mac下的配置以及简单使用
- redis的配置以及简单使用