- 浏览: 176115 次
- 性别:
- 来自: 广州
文章分类
最新评论
以前在web项目中使用过spring+quartz进行定时操作,本次没有使用spring,直接java代码使用quartz进行定时任务的操作,做了一点总结进行分享:
try {
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
if (scheduler != null && scheduler.isInStandbyMode()) {
scheduler.start();
}
JobDetail jobDetail = new JobDetail(jobName, groupName, jobClass);
jobDetail.getJobDataMap().put("name","value");
//简单的定时任务
SimpleTrigger trigger = new SimpleTrigger(jobName, groupName,
startTime, endTime, repeatCount, repeatInterval);
scheduler.scheduleJob(jobDetail, trigger);
//复杂些的定时任务,可以在网上找到表达式
CronTrigger cronTrigger=new CronTrigger("c","d");
cronTrigger.setCronExpression("0/1 * * * * ? " ); // 启动之后立即执行 每一秒继续重复。
scheduler.scheduleJob(jobDetail, cronTrigger);
//结束
if (jobScheduler != null) {
jobScheduler.stopScheduler();
jobScheduler = null;
}
} catch (Exception e) {
e.printStackTrace();
}
Job是无状态的。这意味着在两次作业执行之间,不会去维护作业执行时JobDataMap的状态改变。如果你需要能增、删,改JobDataMap的值,而且能让作业在下次执行时能看到这个状态改变,则需要用Quartz有状态作业,这时去实现StatefulJob。
public class SendSmsJob implements StatefulJob/Job {
public void execute(JobExecutionContext jobContext) throws JobExecutionException {
JobDataMap map = jobContext.getJobDetail().getJobDataMap().getString("name");
....
}
}
try {
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
if (scheduler != null && scheduler.isInStandbyMode()) {
scheduler.start();
}
JobDetail jobDetail = new JobDetail(jobName, groupName, jobClass);
jobDetail.getJobDataMap().put("name","value");
//简单的定时任务
SimpleTrigger trigger = new SimpleTrigger(jobName, groupName,
startTime, endTime, repeatCount, repeatInterval);
scheduler.scheduleJob(jobDetail, trigger);
//复杂些的定时任务,可以在网上找到表达式
CronTrigger cronTrigger=new CronTrigger("c","d");
cronTrigger.setCronExpression("0/1 * * * * ? " ); // 启动之后立即执行 每一秒继续重复。
scheduler.scheduleJob(jobDetail, cronTrigger);
//结束
if (jobScheduler != null) {
jobScheduler.stopScheduler();
jobScheduler = null;
}
} catch (Exception e) {
e.printStackTrace();
}
Job是无状态的。这意味着在两次作业执行之间,不会去维护作业执行时JobDataMap的状态改变。如果你需要能增、删,改JobDataMap的值,而且能让作业在下次执行时能看到这个状态改变,则需要用Quartz有状态作业,这时去实现StatefulJob。
public class SendSmsJob implements StatefulJob/Job {
public void execute(JobExecutionContext jobContext) throws JobExecutionException {
JobDataMap map = jobContext.getJobDetail().getJobDataMap().getString("name");
....
}
}
发表评论
-
Eclipse中Hibernate Tools安装使用
2015-09-02 14:05 517eclipse->Help>Install Ne ... -
Excel保护破解
2015-08-12 15:56 677打开受保护的Excel表格,按“ALT”+“F11”键, ... -
在Web项目中配置Log4j
2014-02-19 21:29 8695在Web项目中配置Log4j 1. 动态的改 ... -
C3P0连接池详细配置
2014-02-19 21:17 697C3P0连接池详细配置 <c3p0-config ... -
转:js获取各种高度
2013-07-09 19:10 1006<script type="text/jav ... -
转:json的stringify方法作用
2013-07-04 00:14 1566可使用JSON.parse(str)将其转化为json对象 ... -
Sublime Text 2快捷键~
2013-06-30 23:19 948Ctrl+L 选择整行(按住-继续选择下行) Ctrl+ ... -
jquery表单验证-自定义及常用验证(转)
2013-04-04 23:14 1307<script type="text/java ... -
PL/SQL执行存储过程
2013-04-01 18:11 10291、PL/SQL中SQL窗口执行过程: BEGIN DBMS ... -
jboss、tomcat自定义classpath(转)
2013-04-01 14:16 3993现在的项目中自定义了很多共通的jar包,这些jar包如何导 ... -
EL表达式和JSTL标签(转)
2013-03-31 15:37 1281在JSP页面中,使用标签库代替传统的Java语言来实 ... -
EL表达式和JSTL标签(转)
2013-03-31 15:34 0在JSP页面中,使用标签 ... -
简单的导出excel
2013-03-25 16:29 942response.setContentType("a ... -
JS中URL编码参数(转) --- 乱码经过编码两次得以解决
2013-03-17 14:01 4253网上有很多文字作品写 ... -
jquery autocomplete示例
2013-03-15 18:30 9679使用jquery的autocomplete插件~~,目前网上有 ... -
GreyBox官网~~
2013-03-01 17:36 946http://orangoo.com/labs/GreyBox ... -
(转)SQL 优化原则
2013-02-28 10:29 666一、问题的提出 在应用系统开发初期,由于开发数据库数据比 ... -
修改tomcat项目的图标
2013-02-28 10:23 793部署在tomcat中的项目在运行的时候,地址栏都是那个标志的小 ... -
如何修改和查看tomcat内存大小
2013-02-28 10:06 977为了解决tomcat在大进行 ... -
eclipse修改内存启动参数
2013-02-28 09:56 4968一般安装完eclipse之后,在安装目录下你应该可以看到有一个 ...
相关推荐
org.quartz.scheduler.instanceName = DefaultQuartzScheduler #集群模式 #org.quartz.scheduler.instanceId = AUTO org.quartz.scheduler.rmi.export = false org.quartz.scheduler.rmi.proxy = false org.quartz....
里面有个简单的quartz-scheduler java示例。
quartz内部表.sql。
NOTE: If "org.quartz.scheduler.batchTriggerAcquisitionMaxCount" is set to > 1, and JDBC JobStore is used, then "org.quartz.jobStore.acquireTriggersWithinLock" must be set to "true" to avoid data ...
Quartz is a full-featured, open source job scheduling service that can be integrated with, or ... The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering.
标签:quartz、scheduler、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
石英-redis-jobstore 使用 JobStore。 该项目的灵感来自 ,并提供了相似的功能,但有一些主要区别: Redis数据库和密钥前缀是...配置在quartz.properties文件中可以设置以下属性: # set the scheduler's JobStore cla
标签:scheduler、quartz、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
本资源是一个最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 的一个简单的 demo,也是博客《最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 任务调度示例》的配套示例项目,该博客地址是:...
请注意,由于以下原因,它被命名为akka-quartz-scheduler并被定位为目标:它不是Quartz的完整端口。 相反,我们利用Quartz的调度系统的概念为Akka提供了比现有的调度组件更健壮和可靠的调度组件。 这里的目标是为...
使用Quartz调度任务,根据需要人为的终止某个任务,适用于很多常见的场景
标签:scheduler、quartz、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...
Java任务调度框架Quartz1.8.6(版本:1.8.6)教程实例源代码
Quartz.NET-.NET平台的作业计划程序介绍这是Quartz.NET的README文件,Java Quartz的.NET端口。 它支持.NET Core / netstandard 2.0和.NET Framework 4.6.1及更高版本。 Quartz.NET是一个开源项目,旨在创建具有企业...
标签:scheduler、quartz、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
Spring Boot Quartz Scheduler示例:构建电子邮件调度应用 完整的教程: : 要求 Java-1.8.x Maven-3.xx MySQL-5.xx 设定步骤 1.克隆应用程序 git clone ...
Quartz is a richly featured, open source job scheduling library that can be ... The Quartz Scheduler includes many enterprise-class features, such as support for JTA transactions and clustering.
Time定时器、Scheduler定时器:依赖的类包:quartz-1.5.2.jar,quartz-all-1.5.2.jar,quartz-jboss-1.5.2.jar
运行Application main方法启动项目,项目启动会自动创建一个测试任务 见:com.itstyle.quartz.config.TaskRunner.java。 项目访问地址:http://localhost:8080/quartz API核心接口有: Scheduler – 与scheduler...
有了它,quartz不再抽象。 资源来自于互联网,Chuck Cavaness 著 Unmi(隔叶黄莺) 译 。 主要内容: 1.quartz起步和简单示例 2.Job部署、存储和持久化 3.Cron触发器及相关内容 4.实现Quartz监听、使用插件和远程方式 ...