- 浏览: 1065839 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (314)
- java 技术 (45)
- Java Util (3)
- Struts2 学习笔记 (23)
- MySql@数据库 (18)
- Oracle@数据库 (4)
- sqlserver@数据库 (20)
- Hibernate配置及应用 (7)
- 基础学习笔记@javaScript (24)
- 常用应用实例@javaScript (41)
- 网页设计 (20)
- bug (13)
- 总结 (4)
- eclipse应用 (23)
- tomcat设置及问题 (15)
- SWFUplaod学习笔记 (7)
- C# (5)
- PPT经验技巧 (8)
- 心情随笔 (3)
- 其他 (19)
- jquery (4)
- sping (1)
- json相关 (2)
最新评论
-
流年已逝_奋斗不止2013:
很有用,谢谢!
HQL select 总结 -
qq_31945283:
完美解决了我的难题,谢谢
四、struts2+swfUpload例子二 -
qq_31945283:
...
四、struts2+swfUpload例子二 -
sunbingrun:
集成到我的项目里, 居然post_params: {&quo ...
三、struts2+swfUpload简单例子 -
flyarun:
牛B ,这种人就是我的偶像
四、struts2+swfUpload例子二
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。
实例:
package example.quartz;
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import java.util.Date;
/** */ /**
* @author starsiday
*/
/**/ /* 实现Job */
public class QuartzReport implements Job {
/**/ /* 重载该函数 */
public void execute(JobExecutionContext cntxt) throws JobExecutionException {
System.out.println( " Generating report - "
+ cntxt.getJobDetail().getJobDataMap().get( " type " )
+ new Date());
}
public static void main(String[] args) {
try {
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
Scheduler sched = schedFact.getScheduler();
sched.start();
JobDetail jobDetail = new JobDetail( " Income Report " ,
" Report Generation " , QuartzReport. class );
jobDetail.getJobDataMap().put( " type " , " FULL " );
CronTrigger trigger = new CronTrigger( " Income Report " ,
" Report Generation " );
/**/ /* 每1分钟执行一次 */
trigger.setCronExpression( " 0 0/1 * * * ? " );
sched.scheduleJob(jobDetail, trigger);
} catch (Exception e) {
e.printStackTrace();
}
}
}
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import java.util.Date;
/** */ /**
* @author starsiday
*/
/**/ /* 实现Job */
public class QuartzReport implements Job {
/**/ /* 重载该函数 */
public void execute(JobExecutionContext cntxt) throws JobExecutionException {
System.out.println( " Generating report - "
+ cntxt.getJobDetail().getJobDataMap().get( " type " )
+ new Date());
}
public static void main(String[] args) {
try {
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
Scheduler sched = schedFact.getScheduler();
sched.start();
JobDetail jobDetail = new JobDetail( " Income Report " ,
" Report Generation " , QuartzReport. class );
jobDetail.getJobDataMap().put( " type " , " FULL " );
CronTrigger trigger = new CronTrigger( " Income Report " ,
" Report Generation " );
/**/ /* 每1分钟执行一次 */
trigger.setCronExpression( " 0 0/1 * * * ? " );
sched.scheduleJob(jobDetail, trigger);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Quartz的配置文件:quartz.properties
# Configure Main Scheduler Properties
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = one
# Configure ThreadPool
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 4
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 4
# Configure JobStore
org.quartz.jobStore.misfireThreshold = 5000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.jobStore.misfireThreshold = 5000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
附:cronExpression配置说明
秒 |
0-59 |
, - * / |
||
分 |
0-59 |
, - * / |
||
小时 |
0-23 |
, - * / |
||
日期 |
1-31 |
, - * ? / L W C |
||
月份 |
1-12 或者 JAN-DEC |
, - * / |
||
星期 |
1-7 或者 SUN-SAT |
, - * ? / L C # |
||
年(可选) |
留空, 1970-2099 |
, - * / |
"0 0 12 * * ?" |
每天中午12点触发 |
|
"0 15 10 ? * *" |
每天上午10:15触发 |
|
"0 15 10 * * ?" |
每天上午10:15触发 |
|
"0 15 10 * * ? *" |
每天上午10:15触发 |
|
"0 15 10 * * ? 2005" |
2005年的每天上午10:15 触发 |
|
"0 * 14 * * ?" |
在每天下午2点到下午2:59期间的每1分钟触发 |
|
"0 0/5 14 * * ?" |
在每天下午2点到下午2:55期间的每5分钟触发 |
|
"0 0/5 14,18 * * ?" |
在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 |
|
"0 0-5 14 * * ?" |
在每天下午2点到下午2:05期间的每1分钟触发 |
|
"0 10,44 14 ? 3 WED" |
每年三月的星期三的下午2:10和2:44触发 |
|
"0 15 10 ? * MON-FRI" |
周一至周五的上午10:15触发 |
|
"0 15 10 15 * ?" |
每月15日上午10:15触发 |
|
"0 15 10 L * ?" |
每月最后一日的上午10:15触发 |
|
"0 15 10 ? * 6L" |
每月的最后一个星期五上午10:15触发 |
|
"0 15 10 ? * 6L 2002-2005" |
2002年至2005年的每月的最后一个星期五上午10:15触发 |
|
"0 15 10 ? * 6#3" |
每月的第三个星期五上午10:15触发 |
* |
表示所有值; |
|
? |
表示未说明的值,即不关心它为何值; |
|
- |
表示一个指定的范围; |
|
, |
表示附加一个可能值; |
|
/ |
符号前表示开始时间,符号后表示每次递增的值; |
|
L("last") |
("last") "L" 用在day-of-month字段意思是 "这个月最后一天";用在 day-of-week字段, 它简单意思是 "7" or "SAT"。 如果在day-of-week字段里和数字联合使用,它的意思就是 "这个月的最后一个星期几" – 例如: "6L" means "这个月的最后一个星期五". 当我们用“L”时,不指明一个列表值或者范围是很重要的,不然的话,我们会得到一些意想不到的结果。 |
|
W("weekday") |
只能用在day-of-month字段。用来描叙最接近指定天的工作日(周一到周五)。例如:在day-of-month字段用“15W”指“最接近这个月第15天的工作日”,即如果这个月第15天是周六,那么触发器将会在这个月第14天即周五触发;如果这个月第15天是周日,那么触发器将会在这个月第16 天即周一触发;如果这个月第15天是周二,那么就在触发器这天触发。注意一点:这个用法只会在当前月计算值,不会越过当前月。“W”字符仅能在day- of-month指明一天,不能是一个范围或列表。也可以用“LW”来指定这个月的最后一个工作日。 |
|
# |
只能用在day-of-week字段。用来指定这个月的第几个周几。例:在day-of-week字段用"6#3"指这个月第3个周五(6指周五,3指第3个)。如果指定的日期不存在,触发器就不会触发。 |
|
C |
指和calendar联系后计算过的值。例:在day-of-month 字段用“5C”指在这个月第5天或之后包括calendar的第一天;在day-of-week字段用“1C”指在这周日或之后包括calendar的第一天。 |
在MONTH和Day Of Week字段里对字母大小写不敏感。
发表评论
-
spring2.0+ehcache2.1.0配置
2021-02-03 09:43 1002记录使用ehcache时遇到的两个问题 一、原使用的是spr ... -
前端解决跨域问题的8种方案
2020-07-31 09:46 746前端解决跨域问题的8 ... -
浏览器拦截跨域请求处理方法
2020-07-31 09:37 1094引用在浏览器请求中,出现跨域访问资源的问题,我们肯定会遇到。如 ... -
iText pdf表格画斜线
2020-07-29 10:00 2267在使用iText输出pdf表格文件时,有时存在较复杂的报表样式 ... -
Java iText导出pdf功能实现
2020-07-29 09:58 762引用:http://www.anyrt.com/blog/li ... -
HTML5手机端拍照上传
2020-03-23 16:11 583HTML5手机端拍照上传 -
Java保留两位小数的几种做法
2020-03-20 10:03 5891. 使用java.math.BigDecimal 2. 使 ... -
下载文件中文文件名乱码问题(兼容浏览器)
2019-07-31 09:56 1162public void encodeFileName()thr ... -
JSP 页面中用绝对路径显示图片
2019-03-08 09:31 1504首先,图片和工程不在一个盘符下。图片也不能放到工程下。 在J ... -
在java中高效复制一个文件夹里面所有的内容
2018-05-24 16:00 757先看下传统的方法:利用字节流直接复制 public sta ... -
解决在IE下label中点击img图片无法选中radio的方案
2018-05-21 09:57 1024例如,这样的代码 <input type=" ... -
java POI 读写word docx文件的相关文章收藏
2018-04-30 12:20 969使用POI读写word docx文件 http://elim. ... -
java基础——Collections.sort的两种用法
2018-04-20 09:45 3287Collections是一个工具类,sort是其中的静态方法, ... -
Java设置session超时(失效)的时间
2018-04-20 12:25 1878在一般系统登录后,都会设置一个当前session失效的时间,以 ... -
65条最常用正则表达式
2017-08-18 14:07 716一、校验数字的表达式 ... -
【转】Java List 随机取记录
2015-09-21 09:55 4840在这对Java List中怎么随机取数做一个分享: 其实Li ... -
Cookie跨域操作
2015-08-25 14:21 716正常的cookie只能在一个 ... -
配置Tomcat使用https协议(配置SSL协议)
2015-08-25 11:03 574http://ln-ydc.iteye.com/blog/13 ... -
Java使用正则表达式获取文本的章节名称
2015-02-04 13:17 2207获取文本的章节,首先要确定章节的开始标准,一般中文的章节都是以 ... -
swf2pdf转swf时字符集问题 Internal error: No current splash fontinfo
2014-12-17 11:33 2591swf2pdf转swf时字符集问题 在转换过程中报错:比如 ...
相关推荐
QQ消息定时发送是一种实用的功能,尤其对于需要在特定时间向他人发送信息的情况,例如提醒、通知或者安排。QQ作为中国最流行的即时通讯软件之一,提供了这样的功能,让用户能够提前设置好消息并设定发送时间,从而...
【Qt蓝牙串口源码支持十六进制发送、字符发送、定时发送】是一个适用于嵌入式硬件开发的项目,尤其适合使用STM32微控制器的系统。该项目利用Qt框架提供了串口通信功能,并且增加了对十六进制和字符发送的支持,还...
本教程将探讨如何实现“定时发送邮件”的功能,这在业务通知、自动化报告或日常维护提醒等方面非常实用。我们将主要围绕ASP.NET平台,利用心跳检测和Timer控件来构建这一功能。 1. **定时任务原理**: 定时任务...
定时发送器CtoS.rar_VC定时发送"是一个使用VC++编写的程序,旨在实现客户端定时向服务器发送数据的功能。在Windows XP操作系统环境下运行,这个项目可能是一个基础的通信示例,展示了如何利用编程技术实现定时的数据...
[152]VC实现单线程的串口通信程序,可以手动发送,定时发送.zip上位机开发VC串口学习资料源码下载[152]VC实现单线程的串口通信程序,可以手动发送,定时发送.zip上位机开发VC串口学习资料源码下载[152]VC实现单线程...
安卓手机定时发送短信 ,多条短信同时发布.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
需要配置好smtp邮箱,如果不会配置,请在百度上搜 163 smtp 邮件配置进行参考。 注意: 双击相应的文本框可以选择“备件文件夹路径”或“压缩文件夹路径” 本工具发送邮件附件的大小和您所选择的SMTP邮箱商所要求的...
【标题】"taobao.rar" 是一个压缩包文件,其中包含了一个名为 "taobao" 的项目,该项目专注于实现“定时发送”功能,特别是在淘宝平台上。这个功能可能是一个自定义的客户端应用或者服务,用于自动向淘宝用户(淘码...
本文主要介绍了基于SpringBoot实现定时发送邮件的过程解析,通过示例代码对大家的学习或者工作具有一定的参考学习价值。下面是对标题、描述、标签和部分内容的详细解析: 标题:“基于SpringBoot实现定时发送邮件...
C# 串口+触发时间。 请参考
在.NET框架中,定时发送邮件可以通过多种方式实现,这里主要介绍两种方法。首先,我们需要理解定时任务的基本原理,通常涉及时间触发器和邮件服务的使用。邮件服务通常基于SMTP(Simple Mail Transfer Protocol)...
### 确定SJA1000_CAN控制器的位定时参数 #### 1. 介绍 SJA1000_CAN控制器是Philips公司推出的一款高性能CAN控制器,广泛应用于汽车电子、工业自动化等领域。其核心特性之一在于能够灵活设置位定时参数,从而满足...
主要为大家详细介绍了android实现定时拍照并发送微博功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
*** 应用程序通常会依赖于 Windows 服务来执行一些后台任务,比如定时发送邮件。在本篇文档中,将详细介绍如何在***环境中,通过Windows服务实现定时任务,向指定用户发送电子邮件。该方法在系统后台运行,以保证...
为了追求更加便捷的方式,在此基于Python编写了一个实现微信定时自动发送指定群消息。这里有两个文件,一个是主程序main.py,一个文本文件(txt)。txt是用来放入指定群聊名称,设置定时时间,编辑发送的消息内容。...
本文实例讲述了Android编程使用Service实现Notification定时发送功能。分享给大家供大家参考,具体如下: /** * 通过启动或停止服务来管理通知功能 * * @description: * @author ldm * @date 2016-4-29 上午9...
- **通知提醒**:如发送邮件、短信等,提醒相关人员关注特定事件。 4. **使用与配置** 使用K3Cloud定时任务插件通常包括以下步骤:创建任务、设定执行时间、编写任务逻辑、测试和部署。在配置过程中,可以参考...
在电信领域,发送定时控制系统和方法对于确保网络通信的高效性和可靠性至关重要。移动台作为通信系统中的关键元素,需要与基站和其他移动台精确同步,以避免数据包冲突和通信错误。下面将详细讨论这个主题,主要关注...
标题 "C#2008后台定时自动发送邮件源码" 涉及的核心知识点是C#编程语言在Windows系统服务开发中的应用,以及利用MS SQL数据库实现定时邮件提醒功能。下面将对这些知识点进行详细阐述。 首先,C#是微软开发的一种...
参考:ASP中实现执行定时任务的方法 这里我们使用JMail组件的方式来做,邮件的内容为单个网页,可以自由定制。 下面我们看看定时邮件发送的代码: 代码如下: Function getHTTPPage(url) dim objXML set ...