第二种实现 方式
package com.shengyidi.app.task;
public class QuartzTestS {
public void start() {
testMethod();
}
private void testMethod() {
System.out.println("\n\n_______________" + Thread.currentThread().getName() + "_start________________________");
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + " " + i);
try {
Thread.currentThread().sleep(30000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("\n\n_______________" + Thread.currentThread().getName() + "_end________________________");
}
}
xml配置
<bean id="quartzTestS" class="com.shengyidi.app.task.QuartzTestS">
</bean>
<bean id="quartzTestSTimer"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="quartzTestS" />
</property>
<property name="targetMethod">
<value>start</value>
</property>
<property name="concurrent" value="false" />
</bean>
<bean id="test2"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="quartzTestSTimer" />
</property>
<property name="cronExpression">
<value>0 /1 * * * ?</value>
</property>
</bean>
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="test2" />
</list>
</property>
</bean>
结果数据
_______________org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1_start________________________
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1 0
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1 1
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1 2
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1 3
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1 4
_______________org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1_end________________________
_______________org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2_start________________________
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2 0
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2 1
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2 2
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2 3
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2 4
_______________org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2_end________________________
_______________org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-3_start________________________
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-3 0
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-3 1
org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-3 2
总结:
第二种是spring 提供的,第一种是我想的
第一种比第二种快很多。建议使用第一种
分享到:
相关推荐
Spring定时任务基于`@Scheduled`注解和`TaskScheduler`接口实现。`@Scheduled`用于标注需要定时执行的方法,而`TaskScheduler`则提供了更灵活的定时任务调度方式。 2. **启用定时任务** 要使用Spring定时任务,...
Spring Boot作为Java领域的一个热门微服务框架,提供了强大的定时任务功能,能够帮助我们实现不同数据库间的数据同步,比如Oracle到MySQL。本篇文章将详细讲解如何利用Spring Boot的定时任务特性,结合Java的相关...
本项目旨在演示如何利用Spring和Quartz从数据库中动态加载定时任务,并实现对它们的增删改查功能。以下是关于这个主题的详细知识讲解。 首先,Quartz是一个开源的作业调度框架,它允许开发者创建、安排和执行定时...
这个"Spring定时调度简单实现源码"很显然是一个关于如何在Spring中配置和使用定时任务的示例代码包。下面我们将深入探讨Spring的定时调度机制以及其核心组件。 Spring的定时任务调度主要依赖于两个关键组件:`Task...
标题 "spring2.0学习笔记+spring定时任务" 暗示了我们即将探讨的是关于Spring框架2.0版本的学习心得以及如何在Spring中配置和使用定时任务。在这个主题下,我们将深入理解Spring的核心概念,特别是它在企业级Java...
3、SpringCloudSchedule定时任务(使用mybatis读写mysql数据库, spring实现定时任务, 按照间隔时间或固定时间方式执行定时任务) 4、定时自动运行任务(在数据库中设置好定时时间,及运行的程序,及参数) 5、C#...
Spring 3.0版本引入了对定时任务的支持,这是一个非常实用的功能,可以帮助开发者实现定期执行的任务,如数据同步、报表生成等。本文将深入探讨Spring 3.0中的定时任务实现,并结合Quartz库来进一步扩展定时任务的...
在Spring框架中,定时任务是通过Spring的Task模块来实现的,这允许我们在应用程序中创建和管理定时任务,而无需依赖外部的调度器如Quartz或Cron。本例主要探讨如何在Spring中配置和执行定时任务。 首先,我们要引入...
当结合Quartz,一个强大的任务调度库,我们可以实现动态的定时任务创建,这在业务逻辑中有着广泛的应用,如数据同步、定时报表生成等。 **Spring框架** Spring框架是Java开发者必备的工具之一。它提供了一个统一的...
邮件服务允许开发者向用户发送电子邮件,而定时任务则可以实现程序的自动化执行,如数据同步、报表生成等。以下将详细介绍这两个方面。 首先,我们来探讨Spring的邮件服务。Spring通过JavaMailSender接口提供了一种...
在IT行业中,定时任务是许多应用不可或缺的一部分,用于执行定期的后台处理,如数据同步、报表生成、清理任务等。Spring Boot作为一个轻量级的Java框架,提供了与各种定时任务库集成的能力,其中Quartz是一个广泛...
### Spring Boot中的@Scheduled注解:定时任务的原理与实现 #### 一、引言 在现代软件开发中,定时任务是一种非常常见的需求。无论是数据同步、定期清理缓存还是发送提醒邮件,都需要应用程序能够在特定的时间点...
本教程将深入探讨如何配置并实现Spring Boot中的定时任务,包括线程配置、并行同步和异步执行等关键概念。 首先,我们需要了解Spring Boot中的定时任务基础。通过添加`@EnableScheduling`注解到某个配置类,我们...
Java Spring Quartz 动态定时任务是企业级应用中常见的需求,用于执行周期性的后台作业,如数据同步、报表生成等。Spring与Quartz的结合使用,使得我们可以方便地在Spring框架下管理定时任务,同时还能实现任务的...
在【标题】"Spring的定时任务开发及对Quartz和Timer支持"中,涉及到的是Spring在处理定时任务方面的特性,这在企业级应用中非常常见,用于执行一些周期性的后台任务,如数据同步、报表生成、清理任务等。 首先,...
在多应用服务器负载均衡环境下,Spring Quartz定时任务的重复执行问题是一个常见的挑战。Spring Quartz是一个强大的、开源的作业调度框架,允许开发者定义和执行复杂的定时任务。然而,当多个服务器实例并行运行时,...
本篇将详细探讨Spring中的定时任务和异步方法,帮助开发者更好地理解如何在项目中实现定时任务调度和提高程序执行效率。 首先,我们来关注Spring的定时任务。Spring提供了`@Scheduled`注解,通过这个注解,我们可以...
在Spring Boot框架中,开发定时任务是常见的需求,可以用于执行一些后台的周期性工作,如数据同步、日志清理等。本项目采用`ThreadPoolTaskScheduler`来实现定时任务,这是一种基于Java线程池的定时任务调度器,相比...
Spring + quartz 定时任务修改定时时间不重启服务