第1种方式:
public class PayJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
System.out.println("PayJob开始执行。。。。。。");
}
}
public class PunchJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
System.out.println("PunchJob开始执行。。。。。。");
}
}
<!-- 支付的Job作业类 -->
<bean id="payJobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.iteye.schedule.PayJob"></property>
</bean>
<!-- 打卡的Job作业类 -->
<bean id="punchJobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.iteye.schedule.PunchJob"></property>
</bean>
<!-- 支付的定时调度器 -->
<bean id="payCronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="payJobDetailBean"></property>
<!-- 每分钟执行一次 -->
<property name="cronExpression" value="0 0/1 * * * ?"></property>
</bean>
<!-- 打卡的定时调度器 -->
<bean id="punchCronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="punchJobDetailBean"></property>
<!-- 每天的16:38:00执行一次 -->
<property name="cronExpression" value="0 38 16 * * ?"></property>
</bean>
<!-- 总调度器 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="payCronTriggerBean"></ref>
<ref local="punchCronTriggerBean"></ref>
</list>
</property>
</bean>
第2种方式:
public class PayJob {
public void startJob() {
System.out.println("PayJob开始执行。。。。。。");
}
}
<!-- 支付的Job作业类 -->
<bean id="payJobDetailBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<bean class="com.iteye.PayJob" />
</property>
<property name="targetMethod" value="startJob" />
<property name="concurrent" value="false" /><!-- 作业不并发调度 -->
</bean>
<!-- 支付的定时调度器 -->
<bean id="payCronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="payJobDetailBean"></property>
<!-- 每分钟执行一次 -->
<property name="cronExpression" value="0 0/1 * * * ?"></property>
</bean>
<!-- 总调度器 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="payCronTriggerBean"></ref>
</list>
</property>
</bean>
分享到:
相关推荐
- **基本概念**:Spring Task是Spring框架的一部分,提供了基本的定时任务调度功能,包括`@Scheduled`注解用于标记定时任务,以及`TaskScheduler`和`ThreadPoolTaskScheduler`接口用于异步执行任务。 - **@...
3. **ThreadPoolTaskScheduler**:这是Spring提供的定时任务调度器,它可以基于Java的`ScheduledExecutorService`来执行周期性的任务。 4. **@Scheduled**:这是一个注解,用于标记需要定时执行的方法。 在非Web...
本文将详细探讨Spring定时任务的关键知识点,并与提供的jar包列表关联。 首先,Spring定时任务主要依赖于`spring-context-support`模块,这个模块包含了处理定时任务所需的类和接口。在压缩包`lib`中,应该包含了这...
在Spring框架中,定时任务调度是一项非常重要的功能,它允许我们按照预定的时间间隔执行特定的任务。这个"Spring定时调度简单实现源码"很显然是一个关于如何在Spring中配置和使用定时任务的示例代码包。下面我们将...
下面我们将深入探讨Spring定时任务所需的相关jar包以及它们的功能。 首先,Spring框架的核心jar包`spring-context.jar`是必不可少的。这个jar包包含了Spring的核心功能,如依赖注入(Dependency Injection,DI)、...
在Java中,有多种实现定时任务调度的方式,包括但不限于Java内置的`java.util.Timer`类、Spring框架的`@Scheduled`注解以及Quartz库。 1. **Java内置的`java.util.Timer`和`TimerTask`**: - `Timer`类用于创建一...
`TaskExecution`和`TaskScheduling`是Spring框架的基础任务调度API,它们允许开发者创建和执行简单的定时任务。`TaskExecution`接口提供了任务执行的核心功能,如启动、停止和查询任务状态,而`TaskScheduling`接口...
2. **依赖的jar包**:实现Spring定时任务,通常需要以下10个关键的jar包: - `spring-context`: 包含了Spring的核心功能,如依赖注入(DI),AOP,事件处理等,是实现定时任务的基础。 - `spring-context-support`: ...
Spring框架作为Java领域广泛使用的轻量级框架,提供了与第三方库Quartz的整合,使得开发者能够轻松地在Spring应用中实现复杂的定时任务调度。Quartz是一款开源的作业调度框架,支持丰富的调度策略,可以满足各种定时...
`@Scheduled`用于标注需要定时执行的方法,而`TaskScheduler`则提供了更灵活的定时任务调度方式。 2. **启用定时任务** 要使用Spring定时任务,首先需要在配置类上启用定时任务支持,通过添加`@EnableScheduling`...
此外,Spring Task与Spring框架的集成更加紧密,使得任务调度与业务逻辑的解耦更加自然。 对于Quartz的使用,我们可以通过以下步骤创建一个定时任务: 1. 定义作业类,继承`QuartzJobBean`,并重写`executeInternal...
Spring Quartz 是一个强大的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Spring框架中集成Quartz,可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming...
Spring框架提供了强大的任务调度能力,使得开发者能够轻松地集成和管理定时任务。本资料“Spring实现任务调度”将深入探讨如何在Spring中设置和管理定时任务。 首先,我们需要理解Spring中的任务调度机制。Spring...
在Spring框架中,定时任务是实现系统自动化运行关键任务的重要工具。Spring提供了多种方式来创建和管理定时任务,...在chapter13目录下的文件可能包含了这些源码示例,你可以逐一研究,加深对Spring定时任务的理解。
Spring 整合任务调度框架 Quartz 在软件开发中,任务调度框架是非常重要的一部分,它可以帮助开发者更好地管理和执行各种任务。在 Java 领域中,Quartz 是一个非常流行的任务调度框架,而 Spring 是一个非常流行的 ...
Spring 定时器 任务调度 怎么在项目中写定时任务 怎么配置一些环境
结合Eclipse和Maven,创建Spring定时任务项目时,你需要: 1. 创建一个新的Maven项目,并添加Spring的相关依赖,如`spring-context`, `spring-context-support`(对于Spring Task),以及`quartz`和`spring-quartz`...
一个tomcat下部署了两个应用,一个是普通web应用syncc,另一个应用syncc_wx属于微信公众号后台程序涉及消息定时推送,tomcat未分离...”spring定时任务执行两次的异常排查处理.docx"针对上述描述问题进行分析和解决。
在`ScheduleInfoAction`的`reSchdeuleJob()`方法中,我们可以动态获取和设置定时任务的cron表达式。例如,从数据库中读取用户的自定义调度时间,然后更新`CronTriggerBean`的`cronExpression`,从而达到动态调整任务...
Java定时任务调度是Java开发中一个非常重要的技术领域,它允许开发者在特定的时间点或按照预定义的周期执行任务,从而实现自动化的工作流程。在Java中,我们可以使用多种方式来实现定时任务,如Java内置的`java.util...