tomcat spring定时功能
新建quartz.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean name="updateDB"
class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>com.travelsky.channelconn.adapter.XiRuanHotels.RateAmountSync</value>
</property>
<property name="jobDataAsMap">
<MAP>
<ENTRY key="readXmlService ">
<REF bean="readXmlService"></REF>
</ENTRY>
</MAP>
</property>
</bean>
<bean id="XiRuanCronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="updateDB" />
</property>
<property name="cronExpression">
<!-- 每天15:49分取数据 -->
<value>0 49 15 * * ?</value>
</property>
</bean>
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<ref local="XiRuanCronTrigger"></ref>
</property>
</bean>
</beans>
<map>结点,这里主要是为了在定时任务需要使用到Bean,通过 Spring给注入进来,如果不写明,就会报
java.lang.NullPointerException错误,主要是因为没有注入Bean
将该xml加入到web的加载目录即可
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:quartz.xml
classpath:applicationMonitorContext.xml
</param-value>
</context-param>
使用spring quartz功能
需要加入quartz,common-lang等四个JAR包
新建类实现接口QuartzJobBean的方法executeInternal
public class RateAmountSync extends QuartzJobBean {
public static String htlCode;
private readXmlService readXmlService;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
// TODO Auto-generated method stub
if(Sync())
logger.info("同步信息成功");
else
logger.info("同步价格失败");
}
}
注意:在Spring配置和 Quartz集成内容时,有两点需要注意
1、在<Beans>中不能够设置default-lazy-init="true",否则定时任务不触发,如果不明确指明default-lazy-init的值,默认是false。
2、在<Beans>中不能够设置 default-autowire="byName"的属性,否则后台会报 org.springframework.beans.factory.BeanCreationException错误,这样就不能通过Bean名称自动注入,必须通过明确引用注入。
分享到:
相关推荐
本代码实现利用Spring实现定时任务执行功能,用于非Web项目。
Spring定时任务的几种实现,欢迎交流!
Spring3.x企业应用开发实战 中 Spring 定时任务源码(spring 三种定时任务的实现方式),Spring quartz java 定时器 定时任务 源码
java中 spring 定时任务 实现代码,需要的朋友可以参考一下
Spring提供的三种定时任务机制及其比较
spring 做定时器任务时所依赖的10个jar包,用于实现java定时任务。
本案例实现利用Spring技术实现定时任务功能,用于Web项目
spring之定时任务实现(spring-task和quartz,注解,非注解等不同方式),附文档+源码工程,本人已测试通过才上传,希望对大家有所帮助
完整的javaspring定时任务的实现,通过配置数据库可以实现定时任务的修改,不必频繁的修改配置文件,大家可以自行在上面实现更多的定时任务管理。数据库表结构已经上传
主要为大家详细介绍了Spring定时任务的实现与配置第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合实现动态的改变定时任务的状态的一个...
Spring定时任务的几种实现,很不错哦
通过配置文件来实现定时任务
内含配置文件与代码示例 1.使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某...2.Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多.
本文档详细介绍了Spring定时任务配置的两种方式。一种方式是使用Spring提供的 MethodInvokingJobDetailFactoryBean 代理类,Quartz通过该代理类直接调度任务类的某个函数,另外一种方式是任务类继承并实现Quartz接口...
Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查,部署到tomcat即可看到定时任务执行效果。本人亲测,可用!
3、SpringCloudSchedule定时任务(使用mybatis读写mysql数据库, spring实现定时任务, 按照间隔时间或固定时间方式执行定时任务) 4、定时自动运行任务(在数据库中设置好定时时间,及运行的程序,及参数) 5、C#...
可运行的项目,实现了spring定时任务,很好理解!一看就懂