Spring+Quartz定时任务之QuartzJobBean抽象类的使用

本文介绍如何在Spring框架中使用Quartz实现定时任务,包括必要的Maven依赖、自定义定时任务类、配置文件设置及触发器的定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目中使用了定时任务 , 是为了定时查询物流的轨迹 ,现在来解释一下操作步骤.做个测试

首先需要导入依赖:`

   <dependency>
		<groupId>commons-collections</groupId>
		<artifactId>commons-collections</artifactId>
		<version>3.2.1</version>
	</dependency>
	
  <dependency>
		<groupId>opensymphony</groupId>
		<artifactId>quartz-all</artifactId>
		<version>1.6.3</version>
	</dependency>
	
	<dependency>
		<groupId>commons-logging</groupId>
		<artifactId>commons-logging</artifactId>
		<version>1.2</version>
	</dependency>
	
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring</artifactId>
		<version>2.5.6.SEC03</version>
	</dependency>

``spring中使用的是quartzJobBean抽象类, 自定义一个类继承此类. 这里面写你需要定时查询的内容代码.

/**
 * 我的定时器
 * 
 * @author dukang
 *
 */
public class MyJobBeand extends QuartzJobBean {
	private static int timeOut; // 间隔多长时间调度开始  配置文件中指定

	private static int i = 0;

	@Override
	protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		long millis = System.currentTimeMillis();
		String timeString = sdf.format(millis);
		System.out.println("定时任务开启:"+timeString);

	}

}

然后开始配置文件: 定义一个工作类,叫做 JobDeatailBean

                           和触发工作类的触发器  CronTriggerBean,
                           和用来装触发器的工厂  SchedulerFactoryBean
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
	"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<!-- 定义一个工作类 -->
	<bean id="job"
		class="org.springframework.scheduling.quartz.JobDetailBean">
		<property name="jobClass" value="com.MyJobBeand"></property>
		<property name="jobDataAsMap">
			<map>
				<entry key="timeOut" value="10"></entry>
			</map>
		</property>

	</bean>
    <!--定义一个触发器出发工作类 -->
    <bean id="cronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean" >
       <property name="jobDetail" ref="job" ></property>
       <property name="cronExpression" value="*/5 * * * * ?"></property>
    </bean>
    <!--定义一个触发器工厂 -->
    <bean  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
       <property name="triggers">
         <list>
          <ref bean="cronTriggerBean"/>
         </list>
       </property>
    </bean>
    
</beans>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值