- 浏览: 501653 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (449)
- java细节 (186)
- javascript (6)
- tomcat (2)
- java基础 (17)
- extjs (1)
- java 开源 (17)
- java-bug (5)
- 电脑软件 (16)
- oracle-dba (8)
- oracle (6)
- java 精神 (17)
- SSH (6)
- 常用开源 (29)
- Mysql (22)
- 电脑学习 (8)
- jsp (12)
- html5 (6)
- hadoop (3)
- webos (2)
- web前端开发 (7)
- java实践 (2)
- 其它 (19)
- python (4)
- c++ (1)
- linux (2)
- css3+h5 (9)
- bootstrap (12)
- ps (1)
- vue (5)
- android (3)
最新评论
-
springdata_springmvc:
java inputstream demo教程源代码下载:ht ...
文件的读写 -- java FileInputStream -
hukaimiao:
[/c佛挡[size=x-small][color=darkr ...
文件的读写 -- java FileInputStream -
wwm4851186:
可惜这是中国
10大技能 让你坐享10万美元薪酬 -
zhubo357087527:
楼主,这样写可以吗?用“Process proc = Runt ...
在java中如何调用linux的ctrl+c指令?
import java.io.IOException;
import java.text.ParseException;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
public class SechduleTaskServiceImpl{
private Scheduler scheduler;
public static void main(String[] args){
SechduleTaskServiceImpl s = new SechduleTaskServiceImpl();
try {
s.initTimers();
while(true){
int i = System.in.read();
System.out.println("i:"+i);
if(i=='1'){
System.out.println("启动新增触发器 2");
s.enableTimer(2);
}else if(i=='2'){
System.out.println("停止掉新增触发器 2");
s.disableTimer("");
}else if(i=='3'){
System.out.println("停止掉原始触发器 1");
s.disableTimer();
}else;
Thread.sleep(1000);
}
} catch (SchedulerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//��ݶ�ʱ����� ����禁用某个定时器��ʱ��
public void disableTimer(String timerName)throws SchedulerException,ParseException {
// TODO Auto-generated method stub
scheduler = StdSchedulerFactory.getDefaultScheduler();
CronTrigger cronTrigger = (CronTrigger)scheduler.getTrigger("trigger_2", Scheduler.DEFAULT_GROUP);
if(null != cronTrigger){
scheduler.unscheduleJob(cronTrigger.getName(), Scheduler.DEFAULT_GROUP);
}
}
public void disableTimer()throws SchedulerException,ParseException {
// TODO Auto-generated method stub
scheduler = StdSchedulerFactory.getDefaultScheduler();
CronTrigger cronTrigger = (CronTrigger)scheduler.getTrigger("trigger_1", Scheduler.DEFAULT_GROUP);
if(null != cronTrigger){
scheduler.unscheduleJob(cronTrigger.getName(), Scheduler.DEFAULT_GROUP);
}
}
//��̬���ʱ�� ���启用某个定时器־
public void enableTimer(Integer timerId) throws SchedulerException,ParseException {
// TODO Auto-generated method stub
scheduler = StdSchedulerFactory.getDefaultScheduler();
JobDetail jobDetail = new JobDetail("reportJob_3", Scheduler.DEFAULT_GROUP,TestJob2.class);
Trigger trigger = new CronTrigger("trigger_2",Scheduler.DEFAULT_GROUP,"5,15,25,35,45,55 * * * * ?");
scheduler.scheduleJob(jobDetail, trigger );
// scheduler.start();
}
//������启用quartz
public void initTimers() throws SchedulerException,ParseException{
// TODO Auto-generated method stub
scheduler = StdSchedulerFactory.getDefaultScheduler();
//����JobDetailʵ��
JobDetail jobDetail = new JobDetail("reportJob_1", Scheduler.DEFAULT_GROUP,TestJob.class);
JobDetail jobDetail2 = new JobDetail("reportJob_2", Scheduler.DEFAULT_GROUP,TestJob2.class);
//����trigger �����
//Trigger trigger = new SimpleTrigger("dd",Scheduler.DEFAULT_GROUP, 0, 30) ;
//
Trigger trigger = new CronTrigger("trigger_1",Scheduler.DEFAULT_GROUP,"0,10,20,30,40,50 * * * * ?");
Trigger trigger2 = (Trigger)trigger.clone();
trigger2.setName("trigger_2"); //clone 就是这样用的~~ 哈哈
// 启用 trigger
scheduler.scheduleJob(jobDetail, trigger );
// scheduler.scheduleJob(jobDetail2, trigger2 );
// scheduler.addjob
//��ʼ���
scheduler.start();
//�����еĶ�ʱ��Դ
// scheduler.shutdown();
//禁用 trigger
// scheduler.unscheduleJob(trigger.getName(), Scheduler.DEFAULT_GROUP);
/* 判断任务是否存在
* CronTrigger cronTrigger = (CronTrigger)scheduler.getTrigger("trigger_" + rj.getGuId(), Scheduler.DEFAULT_GROUP);
if(null != cronTrigger){
scheduler.unscheduleJob(cronTrigger.getName(), Scheduler.DEFAULT_GROUP);
}
*/
}
}
发表评论
-
idea 设置自动编译
2023-06-13 09:39 481https://www.cnblogs.com/bxzmd/p ... -
eclipse 下载的地方
2023-05-31 00:43 241参考 https://baijiahao.baidu.com/ ... -
eclipse导入 idea
2023-03-19 21:27 311转: https://blog.csdn.net/qq_526 ... -
@DataSource切换数据库失效
2022-08-08 11:31 819在实现类中 再次注入即可 public class Face ... -
jar下载地址
2022-02-11 23:34 3491、进入官网:https://sourceforge.net/ ... -
java 测试两个月前的今天-改为保留60天-bug
2021-08-18 14:03 591比如今天是8.31 两个月前是 6.30。 但是存在问题,比如 ... -
idea 常见配置
2021-06-07 17:11 3571 sst 8.37 checkstyle 版本 2 设置c ... -
linux定时清理日志
2020-09-21 13:36 489clearlog.sh #!/bin/bash # 清理30 ... -
前端中文传到后台乱码
2020-09-10 23:35 659info = new String(info.getBytes ... -
linux 开机自启动
2020-09-07 10:20 438run.sh 文件内容如下: #!/bin/bash cd ... -
nodejs 和npm对应关系
2020-08-07 09:45 2188https://nodejs.org/en/download/ ... -
mybatis 插入库 乱码
2020-05-10 12:25 374jdbc:mysql://127.0.0.1:3306/tes ... -
Transactional 不生效(转)
2020-04-16 12:33 381@Transactional 默认是当方法抛出RuntimeE ... -
全栈开发
2020-03-11 21:51 368全栈开发没有明确的定义,但应该指的就是前端+后端+数据库。所以 ... -
rocketmq-一个消费组对应一个订阅关系
2019-10-23 10:39 816源码分析RocketMQ同一个消费组设置不同tag,消息订阅失 ... -
rocketmq 标签过滤的方式
2019-10-21 09:16 451https://www.kunzhao.org/blog/20 ... -
json 转 对象
2019-09-30 16:48 381单个 XX a = JsonUtils.fromJson(js ... -
springboot @RequestBody 和 @RequestParam
2019-09-09 23:08 1305一 在路径中 在PathVariable后面接入“uid”就可 ... -
java.sql.SQLException: Parameter index out of range (1 > number of parameters, w
2019-08-28 22:42 624完整错误: java.sql.SQLException: Pa ... -
List 简洁赋值
2019-08-14 10:35 578List<String> name = new A ...
相关推荐
本篇文章将深入探讨如何利用Quartz实现定时任务的分组、串行和并行动态配置。 首先,理解Quartz的核心概念是必要的。`Job`是执行任务的基本单元,`Trigger`则决定了何时触发Job。Quartz提供了`Scheduler`来管理和...
**添加定时任务**: 要动态添加任务,你需要创建JobDetail对象,指定Job类和相关参数。然后创建Trigger对象,设置触发时间或规则。最后,使用Scheduler的`scheduleJob(JobDetail, Trigger)`方法将Job和Trigger关联并...
在这个场景下,我们讨论的是如何在ASP.NET环境中设置一个定时器,使得页面加载或IIS启动后,该定时任务每隔10秒执行一次。 1. **定时任务原理**: ASP.NET定时任务通常基于`System.Threading.Timer`类或者`System....
以上就是Spring Boot中实现定时任务动态开启和关闭的基本步骤。在实际开发中,我们还需要考虑任务的异常处理、日志记录以及可能的并发问题。理解并掌握这些知识点对于构建高效稳定的后台服务至关重要。
本篇文章将详细讲解两种在Spring MVC框架中实现定时任务的方法:Spring MVC自带的定时器以及Quartz与Spring的集成。 首先,我们来看看Spring MVC自带的定时任务。Spring MVC作为Spring框架的一个模块,主要处理HTTP...
总之,Quartz定时器是Java开发中不可或缺的工具,它提供了丰富的功能和高度的定制性,让开发者能轻松处理各种定时任务。通过深入理解Quartz的工作原理和API,我们可以在项目中灵活运用,提高工作效率。
这个"一个简单的quartz定时器的demo"是展示如何在项目中集成和使用Quartz的基本步骤,包括创建任务、配置调度器以及管理任务的生命周期。 首先,Quartz的核心组件包括Scheduler(调度器)、Job(任务)和Trigger...
在这个基础的Quartz定时器案例中,我们将探讨如何使用Quartz API来创建、配置和执行定时任务。 首先,Quartz的核心组件包括Job(任务)、Trigger(触发器)和Scheduler(调度器)。Job是实际需要执行的任务,...
Spring Quartz定时器是Java开发中常用的一个任务调度框架,它结合了Spring框架的强大功能与Quartz的灵活性,使得开发者能够方便地在应用中实现定时任务。在这个压缩包中,包含了三个核心的jar文件:`quartz-all-...
总结,Spring Boot集成Quartz定时器能够方便地创建和管理定时任务,同时利用Spring的依赖注入,使得Job可以灵活地调用其他服务或组件。这种方式使得我们的任务更加模块化和易于维护。在实际开发中,根据项目需求,...
Spring提供了一种集成Quartz的方式,使得我们可以方便地在Spring应用中管理和执行定时任务。本篇将深入探讨如何在Spring中启动和停止Quartz定时器。 首先,我们需要理解Spring和Quartz的基本概念。Spring是一个强大...
通过上述方式,你就可以在不依赖任何特定框架的情况下使用Quartz定时器,实现各种定时任务的需求。无论是简单的数据备份、定期发送邮件,还是复杂的业务流程调度,Quartz都能胜任。希望这份资料能帮助你快速理解和...
在Spring框架中,定时任务是常见的需求,例如用于执行定期数据同步、日志清理或发送邮件等。...通过理解Quartz的工作原理和Spring的定时任务API,我们可以有效地管理定时任务,确保它们按预期执行。
传统Spring+Quartz实现的定时器一般都是通过配置文件中配置的,这就意味着如果我们修改了定时任务的时间,就得重新启动一下Tomcat,而且每次新建一个任务就得在spring中添加相关的配置信息,非常麻烦。基于上面的...
Spring Quartz是一个强大的、开源的作业调度框架,允许开发者定义和执行复杂的定时任务。然而,当多个服务器实例并行运行时,如果不采取适当的策略,同一定时任务可能会在每个服务器上都执行,导致数据不一致和资源...
《Spring与Quartz定时器深度解析》 在Java开发领域,Spring框架因其强大的功能和灵活性而备受推崇。其中,Spring对任务调度的支持是其一大亮点,尤其与Quartz的集成,使得开发者能够方便地实现定时任务。Quartz是一...
Quartz.NET是基于Java的Quartz项目的.NET版本,它提供了强大的定时任务调度功能。你可以定义作业(Job)和触发器(Trigger),作业是需要执行的任务,触发器则定义了何时执行这个任务。Quartz.NET支持多种类型的...
Quartz是一款开源的作业调度...总结来说,"Quartz定时器web应用"示例展示了如何在Web环境中利用Quartz框架创建和调度定时任务。通过理解上述概念和步骤,开发者可以灵活地构建和管理定时任务,提升系统的自动化水平。
### Spring Quartz 定时器的简单配置与使用 在现代软件开发中,特别是Java领域,定时任务是非常常见...Spring Quartz提供了一个强大而灵活的方式来管理定时任务,使得开发者可以轻松地为应用程序添加定时任务的支持。
Spring Quartz定时器是一种在Java应用中实现定时任务的流行框架,它允许开发者精确地调度任务执行。本篇文章将深入探讨如何在Spring框架中简单实现Quartz定时器,并结合源码和工具来帮助理解其工作原理。 首先,让...