`
xuyuanshuaaa
  • 浏览: 396209 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

spring定时任务实现

 
阅读更多
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项目)

    在非Web项目中实现Spring定时任务,主要步骤如下: 1. **配置Spring Task**:在Spring的配置文件(如`applicationContext.xml`或使用Java配置类)中,我们需要启用任务调度功能并配置相应的执行器或调度器。例如,...

    Spring定时任务管理

    Spring定时任务的几种实现,欢迎交流!

    spring定时任务关键jar包(齐全)

    本文将详细探讨Spring定时任务的关键知识点,并与提供的jar包列表关联。 首先,Spring定时任务主要依赖于`spring-context-support`模块,这个模块包含了处理定时任务所需的类和接口。在压缩包`lib`中,应该包含了这...

    Spring定时任务实现与配置(一)

    Spring定时任务实现与配置(一) 本文主要介绍了Spring定时任务的实现与配置,涵盖了基本概念、依赖管理、配置文件设置、Quartz配置、Job配置等方面的知识点。 Spring定时任务的基本概念 在Spring中,定时任务是...

    Spring 定时任务源码(spring 三种定时任务的实现方式)

    通过阅读和理解这些源码,你可以更好地了解Spring如何管理和调度定时任务,以及如何根据项目需求选择合适的定时任务实现方式。在chapter13目录下的文件可能包含了这些源码示例,你可以逐一研究,加深对Spring定时...

    Spring提供的三种定时任务机制及其比较

    在Spring框架中,有三种主要的定时任务机制可供开发者选择,分别是基于Quartz的定时机制、Spring自己的`@Scheduled`注解以及...在实际开发中,可以根据项目规模、性能需求和团队熟悉度来决定最适合的定时任务实现方式。

    spring定时任务必须要的10个jar包.zip

    以上每个jar包都是Spring定时任务实现中的关键组件,确保它们在类路径中正确配置,能帮助开发者轻松地创建、管理和调度任务。在实际项目中,除了这些核心库,还可能需要根据具体需求添加其他依赖,如数据库驱动、...

    spring定时任务依赖的jar包

    2. **依赖的jar包**:实现Spring定时任务,通常需要以下10个关键的jar包: - `spring-context`: 包含了Spring的核心功能,如依赖注入(DI),AOP,事件处理等,是实现定时任务的基础。 - `spring-context-support`: ...

    Spring定时任务的简单例子

    Spring定时任务支持更多的功能,比如任务执行的并发控制、任务执行的监听器、以及使用Quartz等第三方调度库进行更复杂的任务调度。 总结,Spring定时任务为开发者提供了方便的API和注解,使我们可以轻松地在Java...

    Spring定时任务

    Spring定时任务基于`@Scheduled`注解和`TaskScheduler`接口实现。`@Scheduled`用于标注需要定时执行的方法,而`TaskScheduler`则提供了更灵活的定时任务调度方式。 2. **启用定时任务** 要使用Spring定时任务,...

    Spring定时任务(Web项目)

    一、Spring定时任务简介 Spring框架的定时任务功能主要依赖于`Spring Task`模块,也称为Spring的后台任务处理。它提供了基于`@Scheduled`注解和`TaskScheduler`接口的两种定时任务实现方式。`@Scheduled`适用于简单...

    Spring定时任务实现与配置(二)

    Spring定时任务实现与配置(二) 在本文中,我们将详细介绍Spring定时任务的实现与配置的第二篇,主要讨论如何在Spring项目中实现简单的定时任务。 首先,我们需要在Maven项目的pom文件中添加两个依赖项:spring-...

    spring之定时任务实现(spring-task和quartz等不同方式)

    Spring框架提供了一系列工具来支持定时任务的实现,其中包括Spring自带的`spring-task`模块和第三方的Quartz库。下面我们将详细探讨这两种方式以及如何通过注解和非注解的方式进行配置。 首先,`spring-task`是...

    Spring 的定时任务

    #### 二、Spring定时任务实现方式 Spring支持多种定时任务实现方式,包括但不限于: 1. **基于Spring的`@Scheduled`注解** 2. **基于Quartz** 3. **基于Java定时器(Timer)** 本文主要介绍的是基于Quartz的定时...

    Spring中定时任务

    结合Eclipse和Maven,创建Spring定时任务项目时,你需要: 1. 创建一个新的Maven项目,并添加Spring的相关依赖,如`spring-context`, `spring-context-support`(对于Spring Task),以及`quartz`和`spring-quartz`...

    spring定时任务

    总结来说,选择Spring定时任务实现方式时,可以考虑以下几点: 1. 如果任务需求简单,且不需复杂的调度逻辑,可以优先考虑Spring Task,因为它更加轻便,易于集成。 2. 当任务需要复杂的调度策略,或者需要跨应用...

    spring定时任务所需jar

    下面我们将深入探讨Spring定时任务所需的相关jar包以及它们的功能。 首先,Spring框架的核心jar包`spring-context.jar`是必不可少的。这个jar包包含了Spring的核心功能,如依赖注入(Dependency Injection,DI)、...

    spring xml 定时任务

    在Spring框架中,XML配置是传统且广泛使用的方式来设置应用的组件和行为,包括实现定时任务。定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知...

    spring定时任务实例

    在Spring框架中,定时任务是一项重要的功能,它允许开发者在特定的时间间隔内执行特定的任务,无需手动触发。这个实例是关于如何在Spring中配置和使用定时任务,同时结合MyBatis来向数据库插入数据。接下来,我们将...

Global site tag (gtag.js) - Google Analytics