`

java调度:(四) spring中使用quartz的配置文件.

 
阅读更多

quartz主要是三个部分:Scheduler Job Trigger,其中,Job 负责定义需要执行的任务,Trigger 负责设置调度策略,Scheduler 将二者组装在一起,并触发任务开始执行。Scheduler 可以通过SchedulerFactory来生成.

用spring封装后的quartz更简单,下面是一个具体的配置例子:

在其中job,用targetObject来指定任务类,可以是任意的spring bean,targetMethod指定任务执行的方法.Tigger一般用两种,CronTriggerBean和SimpleTriggerBean,一个triggerBean中可以配置多个job,一个Scheduler中可以配置多个trigger.

 

 <!-- quartz定时调度执行 网站自动发现 begin -->
	<bean id="siteSearchJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="websiteSearchEngine"/>
		</property>
		<property name="targetMethod">
			<value>runWebsiteSearcher</value>
		</property>	
	</bean>
	
	<bean id="siteSearchSimpleTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="siteSearchJobDetail"/>
		</property>
		
	    <!--每15天执行一次 -->
	   <property name="cronExpression" value="* * * */15 * ?" /> 
	</bean>
	
	<bean id="siteSearchSfb" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="siteSearchSimpleTrigger"/>
			</list>
		</property>
		
		<property name="autoStartup">
			<value>false</value>
		</property>
		
		<property name="quartzProperties">
			<props>
				<prop key="org.quartz.scheduler.instanceName">DefaultQuartzScheduler</prop>
				<prop key="org.quartz.scheduler.rmi.export">false</prop>
				<prop key="org.quartz.scheduler.rmi.proxy">false</prop>
				<prop key="org.quartz.scheduler.wrapJobExecutionInUserTransaction">false</prop>
				<prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
				<prop key="org.quartz.threadPool.threadCount">1</prop>
				<prop key="org.quartz.threadPool.threadPriority">5</prop>
				<prop key="org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread">true</prop>
				<prop key="org.quartz.jobStore.misfireThreshold">60000</prop>
				<prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
			</props>
		</property>
	</bean>
	<!-- quartz定时调度执行 网站自动发现end --> 

 

 下面是一个simpleTigger的例子:

 

<bean id="mergeSimpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
		<property name="jobDetail">
			<ref bean="mergeJobDetail"/>
		</property>
		<property name="startDelay">
             <!--5*1000毫秒-->
			<value>5000</value>
		</property>
		<property name="repeatInterval">
			<value>300000</value>
		</property>
	</bean>

 

 

 

 

分享到:
评论

相关推荐

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Spring 中的 Quartz 配置-Spring 定时器-...我们学习了 Quartz 的基本概念,了解了如何在 Spring 配置文件中定义 Quartz 的 bean,并了解了 Cron 表达式的使用。最后,我们总结了 Quartz 的优点,了解了它的强大功能。

    Java_Spring与Quartz的整合

    - 配置Quartz:在Spring的配置文件(如`applicationContext.xml`)中,定义`SchedulerFactoryBean`,配置Quartz的基本参数,如线程池大小、JobStore类型等。 - 注册Job和Trigger:在配置文件中,通过`&lt;bean&gt;`标签...

    关于spring中quartz的配置

    在Spring配置文件(如`applicationContext.xml`)中,定义`SchedulerFactoryBean`来实例化和配置Quartz Scheduler: ```xml &lt;bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz....

    springboot整合quartz定时任务yml文件配置方式

    以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及涉及的Spring Cloud Alibaba、Dubbo和Nacos的相关知识。 首先,我们需要在`pom.xml`中引入相关的依赖。Spring Boot的`spring-boot-...

    定时器的配置文件(两种方式:springmvc自带定时,Quartz与spring结合的定时)

    通过以上步骤,你就可以在Spring MVC项目中使用Spring内置的定时器或Quartz来执行定时任务了。两者各有优劣,Spring内置定时器简单易用,适合轻量级的定时需求;而Quartz功能强大,适用于复杂的定时场景,但配置和...

    Java应用:Java调度任务和Spring Quartz (2)

    在Spring配置文件中,我们首先定义了一个名为`task`的bean,它是实际执行任务的类`Shedule`的实例。这个类通常会包含执行所需逻辑的`execute`方法。然后,我们创建了一个`job`bean,它引用了`JobClass`为`DailySay`...

    Spring集成Quartz调度框架.pdf

    2. **配置Quartz**:使用Spring的XML配置文件或者Java配置类来定义Quartz的调度器、触发器和作业。 3. **创建作业**:实现Quartz提供的`Job`接口,编写具体的业务逻辑。 4. **配置触发器**:定义触发器的类型、执行...

    spring集成quartz集群配置

    在IT行业中,Spring框架是Java应用开发中的基石,而Quartz则是广泛使用的任务调度库,尤其适用于企业级应用。本文将深入探讨如何在Spring环境中集成Quartz以实现集群配置,以便于在分布式环境中进行高效的任务调度。...

    spring任务调度(Quartz )

    首先,要在Spring中使用Quartz,你需要将`quartz-all-1.5.2.jar`等相关的Quartz库添加到项目的类路径中。这个库包含了Quartz所需的所有组件,使你可以方便地创建和管理定时任务。 在配置文件中,我们通常会创建一个...

    spring3+ quartz1.8使用以及eclipse代码

    2. Quartz配置文件 创建`quartz.properties`文件,配置Quartz的数据库连接、线程池大小等信息: ``` org.quartz.scheduler.instanceName=MyScheduler org.quartz.threadPool.class=org.quartz.simpl....

    Spring中Quartz调度器的使用

    Spring 中 Quartz 调度器的使用是指在 Spring 框架中使用 Quartz 调度器来实现任务调度。Quartz 是一个功能强大且灵活的开源任务调度器,能够满足复杂的任务调度需求。在 Spring 中使用 Quartz 调度器可以将任务调度...

    Spring中Quartz的配置

    在Spring中使用Quartz进行任务调度时,首先需要创建一个被调度的类。示例代码如下: ```java package com.kay.quartz; public class QuartzJob { public void work() { System.out.println("Quartz的任务调度!...

    Spring4.X+Quartz2.X

    2. **配置Quartz**:在Spring的配置文件(如applicationContext.xml)中,声明Quartz的相关bean,包括SchedulerFactoryBean、JobDetail和Trigger。SchedulerFactoryBean是Spring提供的用于创建和管理Quartz ...

    spring java 定时器 执行两次 quartz

    接着,在Spring的配置文件(如`applicationContext.xml`)中,定义一个`SchedulerFactoryBean`来初始化和管理调度器: ```xml &lt;bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz....

    Spring -Quartz的配置

    在IT行业中,Spring框架是Java企业级应用开发的首选,而Quartz则是一个强大的、开源的作业调度框架,常用于实现应用程序中的定时任务。本文将深入探讨如何在Spring框架中配置Quartz,以便利用其功能来执行计划的任务...

    Spring+quartz相关jar包.rar

    2. 配置 Scheduler:在 Spring 配置文件中,设置 Quartz 的 SchedulerFactoryBean,指定数据库存储(如果需要持久化任务信息)和相关的配置属性。 3. 定义 Job 和 Trigger:创建 Quartz 作业类(Job),实现 org....

    spring定时任务之Quartz

    在Spring的配置文件(如applicationContext.xml)中,定义一个`SchedulerFactoryBean`,并配置相关的属性,如jobStore类型、数据库连接等: ```xml &lt;bean id="schedulerFactoryBean" class="org.springframework....

    quartz整合springbatch动态集群定时实现mysql参考

    通过这个项目,开发者可以学习到如何在分布式环境中使用Quartz进行定时任务调度,以及如何利用Spring Batch进行批量数据处理。同时,了解如何将这些组件与MySQL数据库相结合,实现高可用性和可扩展性。对于希望构建...

    spring-quartz定时设置详细说明

    2. 配置 Quartz:在 Spring 的配置文件(如 `application.properties` 或 `application.yml`)中,可以设置 Quartz 的基本属性,如线程池大小、作业存储策略等。 ```properties # application.properties 示例 ...

Global site tag (gtag.js) - Google Analytics