先上一个很简单的例子import java.util.Timer;
import java.util.TimerTask;
public class Test extends TimerTask {
public static void main(String[] args) {
Timer t=new Timer();
t.schedule(new Test(),0,1000);
}
public void run() {
System.out.println("|");
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再上一简单例子(Web):
//配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="schedulerFactory"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="SendMessageJobInThreeM" />
</list>
</property>
<property name="applicationContextSchedulerContextKey">
<value>applicationContext</value>
</property>
</bean>
<bean id="SendMessageJobInThreeM" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="SendMessageJob" />
<property name="cronExpression" value="/10 * * * * ? " />
</bean>
<bean id="SendMessageJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.oyp.job.QuartTest" />
</bean>
<bean id = "beanTest" class = "com.oyp.job.BeanTest" >
</bean>
</beans>
// 定时执行的类
package com.oyp.job;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.springframework.context.ApplicationContext;
/**
* @author oyp mail:oyprunner@gmail.com
*/
public class QuartTest implements Job{
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("定时任务开始!");
Scheduler sch = (Scheduler) context.getScheduler();
String jobname = context.getJobDetail().getName();
String jobgroup = context.getJobDetail().getGroup();
try {
ApplicationContext appCtx = (ApplicationContext) context.getScheduler().getContext().get("applicationContext");
sch.pauseJob(jobname, jobgroup);
BeanTest bt = (BeanTest)appCtx.getBean("beanTest");
bt.method();
} catch (SchedulerException e) {
e.printStackTrace();
}
finally {
try {
sch.resumeJob(jobname, jobgroup);
System.out.println("定时任务结束!");
} catch (SchedulerException e) {
System.out.println("异常!");
}
}
}
}
//bean
package com.oyp.job;
public class BeanTest {
void method() {
System.out.println("Fuck!");
}
}
分享到:
相关推荐
本文将详细探讨Spring定时任务的关键知识点,并与提供的jar包列表关联。 首先,Spring定时任务主要依赖于`spring-context-support`模块,这个模块包含了处理定时任务所需的类和接口。在压缩包`lib`中,应该包含了这...
1. **任务调度支持**: `spring-context-support`包含了对Quartz和Commons JEXL的支持,允许开发者在Spring容器中配置和管理定时任务。例如,你可以通过XML配置或者使用`@Scheduled`注解来定义周期性执行的任务,这...
Spring定时任务的几种实现,欢迎交流!
2. **依赖的jar包**:实现Spring定时任务,通常需要以下10个关键的jar包: - `spring-context`: 包含了Spring的核心功能,如依赖注入(DI),AOP,事件处理等,是实现定时任务的基础。 - `spring-context-support`: ...
【Spring Boot 定时任务深入理解】 在Spring Boot框架中,定时任务的实现通常依赖于Spring Task组件。Spring Task提供了一种便捷的方式来定义和管理定时任务,尤其在Spring Boot环境中,通过`@EnableScheduling`和`...
9. **定时任务**:"spring-boot-sample-task"演示了Spring Boot中如何配置和执行定时任务,包括使用@Scheduled注解。 通过这些示例,开发者可以了解Spring Boot在实际开发中的应用方式,从基础到高级,从简单到复杂...
2. **定时任务**:通过`org.springframework.scheduling`包,Spring支持基于 cron 表达式的任务调度,可以方便地管理计划任务。 3. **缓存支持**:Spring支持多种缓存实现,如EhCache、Hazelcast或Infinispan,以...
在非Web项目中实现Spring定时任务,主要步骤如下: 1. **配置Spring Task**:在Spring的配置文件(如`applicationContext.xml`或使用Java配置类)中,我们需要启用任务调度功能并配置相应的执行器或调度器。例如,...
下面我们将深入探讨Spring定时任务所需的相关jar包以及它们的功能。 首先,Spring框架的核心jar包`spring-context.jar`是必不可少的。这个jar包包含了Spring的核心功能,如依赖注入(Dependency Injection,DI)、...
Spring框架的定时任务是开发中常见的一种功能,用于自动化执行一系列周期性任务。Spring Boot提供了对Spring Task的集成,使得在Spring Boot应用中配置和管理定时任务变得简单。本文将深入探讨Spring Boot中的定时...
spring-context-support.jar spring整合任务调度quartz必需jar 还需要quartz-all-x.x.x.jar quartz版本必需在1.8.x以下
为了深入了解这些概念,你可以阅读Spring Boot和Bean Validation的官方文档,探索odelay项目的源码,以及研究延时队列和定时任务的实现原理。这样不仅可以提升你的编程技能,还能帮助你更好地理解和应用这些技术。
Spring框架提供了一系列工具来支持定时任务的实现,其中包括Spring自带的`spring-task`模块和第三方的Quartz库。下面我们将详细探讨这两种方式以及如何通过注解和非注解的方式进行配置。 首先,`spring-task`是...
Spring框架提供了多种方式来实现定时任务,这使得开发者可以在不同场景下选择最适合的方案。本文主要探讨了Spring中实现定时任务的三种主要方法:Java的`java.util.Timer`、Quartz库以及Spring自身的Task调度器。 ...
这个"spring-quartz-demo"项目就是一个很好的示例,它展示了如何在Spring中整合Quartz以实现动态定时任务。 首先,我们要了解Spring和Quartz的基本概念。Spring是一个全面的Java企业级应用开发框架,它提供了依赖...
2.通过Spring是JAR-quartz写的一个定时任务 1)普通的定时任务,定时完成指定的任务 2)通过前台动态分配定时任务 可指定多个任务,可同时执行任务,可以精确到时分秒扫描并执行任务 3)可以完成稍微复杂点的任务 ...
结合Eclipse和Maven,创建Spring定时任务项目时,你需要: 1. 创建一个新的Maven项目,并添加Spring的相关依赖,如`spring-context`, `spring-context-support`(对于Spring Task),以及`quartz`和`spring-quartz`...
此外,Spring Modules还包含了对一些其他组件的支持,如Quartz作业调度器的集成,这使得开发者可以利用Spring的依赖注入来管理定时任务,增强了任务调度的灵活性。还有邮件服务模块,它可以帮助开发者轻松地在Spring...
1. **Spring定时任务简介** Spring定时任务基于`@Scheduled`注解和`TaskScheduler`接口实现。`@Scheduled`用于标注需要定时执行的方法,而`TaskScheduler`则提供了更灵活的定时任务调度方式。 2. **启用定时任务**...