Spring定时器 小例子

spring配置文件servicegateway-quartz.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"
default-autowire="byName">

<!-- 每个定义的任务都要在这里进行引用才能运行 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no">
<property name="triggers">
<list>
<ref local="BusinessTestTrigger" />
</list>
</property>
</bean>

<!-- 定时器触发器,配置定时器、以及触发时机 -->
<bean id="BusinessTestTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="BusinessTestDetail" />
</property>
<property name="cronExpression">
<value>0 40 15 ? * *</value>
</property>
</bean>

<!-- 引用,配置要运行的方法 -->
<bean id="BusinessTestDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="BusinessTestTime" />
</property>
<property name="concurrent" value="false" />
<property name="targetMethod" value="run" />
</bean>

<!-- 定义我们要运行的类,可以使用注入定制一些参数 -->
<bean id="BusinessTestTime" class="com.xxx.eb.tools.quartz.QuartzTest">
<property name="para" value="Spring定时器测试V1" />
</bean>

</beans>


测试类QuartzTest.java:
package com.xxx.eb.tools.quartz;

import java.text.SimpleDateFormat;
import java.util.Date;

public class QuartzTest{
// 执行参数
private String para ;
// 执行方法
public void run() {
// 定义输出的格式化日期,以便于区分调用
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("the para is : " + para + " ! Time is :" + format.format(new Date()));
}
public String getPara() {
return para;
}
public void setPara(String para) {
this.para = para;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring中使用注解方式实现定时任务非常方便。以下是实现步骤: 1. 添加依赖:首先,确保在你的项目中添加了Spring的相关依赖,包括spring-context和spring-tasks。 2. 启用定时任务:在Spring的配置文件中,添加`<task:annotation-driven />`标签来启用注解驱动的定时任务。 3. 创建定时任务类:创建一个带有定时任务方法的类。在该方法上添加`@Scheduled`注解来标识该方法为定时任务。 ```java import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class MyScheduledTasks { @Scheduled(fixedRate = 5000) // 定义任务执行的时间间隔,这里是每5秒执行一次 public void doSomething() { // 执行定时任务的逻辑代码 System.out.println("定时任务执行中..."); } } ``` 在上面的例子中,使用`@Scheduled`注解来定义定时任务的执行时间间隔。可以根据需求设置不同的属性,如`fixedRate`、`cron`等。 4. 注解配置扫描:在Spring的配置文件中添加`@ComponentScan`注解来扫描定时任务类。 ```xml <context:component-scan base-package="com.example.tasks" /> ``` 这里的`com.example.tasks`是你的定时任务类所在的包路径。 5. 运行应用程序:启动你的Spring应用程序,定时任务将会自动被调度执行。 以上是使用注解方式实现Spring定时任务的基本步骤。你可以根据具体的需求,使用不同的注解属性来定义更复杂的定时任务逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值