用quartz进行定时任务的开发
来源:互联网 发布:王陆807和语料库 知乎 编辑:程序博客网 时间:2024/06/05 09:39
某天突然遇到头疼的问题,定时任务怎么搞?Java貌似都得经过触发才能被访问到执行逻辑。还好闲的蛋疼的人有的是,有个叫quartz的框架很好用,不仅可以定时,还可以设置多久执行一次,几点到几点之间多久运行一次。强大了一匹,下面就我自己开发的东西总结一下。
1.准备quartz的包,网上down一个就行,在项目中buildPath
2.写一个你要执行的逻辑类
@Componentpublic class InterfaceReadTimeQuartz{public void readTimes() {//需要定时执行的逻辑}}
3.配置xml,我在这就把bean主要的部分贴出来,照着这样写就行,放在beans节点下面
但是千万要注意的一件事就是配置的beans的xsi:schemaLocation里记得要加上这两个地址http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-4.0.xsd
因为我没加所以没好使
4.把xml文件配置到web.xml中。我比较懒所以把bean的xml直接放spring的配置文件下了。如果需要的直接去看看sping是怎么配在web.xml里怎么初始化的吧。
5.之前考虑到系统现在都是分布式的,放在了三个服务器上同时执行会不会出问题,quartz本身就有这样的机制
集群分布式并发环境中使用QUARTZ定时任务调度,会在各个节点会上报任务,存到数据库中,执行时会从数据库中取出触发器来执行,如果触发器的名称和执行时间相同,则只有一个节点去执行此任务。
如果此节点执行失败,则此任务则会被分派到另一节点执行,中途也会自动检查失效的定时调度,发现不成功的,其他节点立马接过来继续完成定时任务。对应的定时任务调度表比较多,有11个。(这段话抄的,我明白咋回事就说不出来)
我亲身试验放在了两台机器,两台机器都分别执行了,分了时间的先后。这个还没有具体研究清楚,不过在逻辑当中控制好数据的正确性,quartz分布式没什么问题,如果不行的话最好部一个单独定时的服务器,以接口的形式进行访问。
暂时就想到这么多
- 用quartz进行定时任务的开发
- quartz的定时任务
- 使用Spring的Quartz Scheduler进行任务定时调度
- 用Quartz处理定时执行的任务
- 用Quartz处理定时执行的任务
- 用Quartz处理定时执行的任务
- 用Quartz处理定时执行的任务
- 用Quartz处理定时执行的任务
- 用Quartz处理定时执行的任务
- 用Quartz处理定时执行的任务
- 用Quartz处理定时执行的任务
- 用Quartz处理定时执行的任务
- 用Quartz处理定时执行的任务
- springMVC使用quartz进行定时任务管理
- spring的quartz定时任务
- quartz的定时调度任务
- quartz定时任务的使用
- quartz 简单的定时任务
- Mybatis--更新
- Balanced Numbers 数位DP+3进制压缩
- 调用百度翻译接口demo(完整ajax请求)
- windows下使用pthread
- 手把手教你Android手机与BLE终端通信--搜索
- 用quartz进行定时任务的开发
- 系统监控工具
- 在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。 【方法一】:使用 try{} catch{} 语句。 我们可以在try语句块中试图
- 第 8 章 查找
- poj2528(线段树区间染色)
- 学习 视频压缩:I帧、P帧、B帧
- iOS 开发技巧之 ---- 使用Mac上的Safari对UIWebView进行调试
- HTML5新增属性介绍和地理位置
- hdu 2514