`
当代阿Q
  • 浏览: 62851 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表
前序:      我们已经大概对Quartz的基本有了一个大概的认识;现在我们将要逐渐对Quartz的各个重要组件进行学习;前面已经对job进行了详细讲解,现在我们来认识下它的一个重要兄弟,没有它,作业将无法得到执行的---触发器 ...
1.Java 中的线程     线程允许程序同一时间做很多任务,至少,看起来那些任务是并发执行的。在我的并发编程的帖子里有介绍线程的基本概念;我们知道在任一特定时刻仅有一个线程在执行,但是 CPU 给每个线程一小片时间运行(通过时间片)然后来回在线程间快速的切换。这就是我们所看到的多线程运行的样子。这里的cpu指的是单处理器的情况,因为对于多处理器的话,多线程调度机制将会将各个任务分配到不同处理器上来实现,这样cpu时间片切片的行为就并不频繁,也就大大提升了程序的执行效率了;     Java 语言使用 Thread 类内建了对线程的支持。当一个线程被通知运行,该线程上的任务对应的 run() ...
前序:      做为企业里的任务调度框架,出现同一时间点同时运行两个任务,或者两个任务因为开始的执行时间和执行时间的长短,很有可能出现任务并发执行的情况;因为Quartz的实现是采用java编程,那么多线程机制就是解决并发问题的必要手段了;      线程与 Quartz 来说尤为重要,因为 Quartz  就是设计为支持同时运行多个 Job。为达到此效果,Quartz 非常倚重于内建于 Java 语言的线程,借助于自己的类和借口还有所增强。      当 Quartz Schduler 首次由某个工厂方法创建时,工厂配置了 Scheduler 会在它的整个生命周期中用到的几个重要的资源。 ...
前序:      我们前面说了,我们的程序是可以分成若干个程序片段的,而每一个程序片段我们都可以用来做为一在多个任务;当然做为独立可运行的任务将更为理想化;在多线程来实现并发的手段时,我们常常将没一个任务用一个独立的线程来进行驱动;           下面是一个简单的线程来驱动我们的一个任务的执行; 1.任务的描述 /** * 一个简单的任务类 * @author liuwei 继承于Runnable接口,并提供Run方法的实现 * Runnable为描述任务的方式 */ public class SimpleTask implements Runnable { /* ...
1.人们的期望    对于单处理器环境下,人们希望自己的程序能够并行的执行,即可以并行的执行程序中的多个部分;而对于多处理器的环境下,则希望可以同时进行执行;   2.并发“具有可论证的确定性,但实际上具有不确定 ...
1. 前言         现在有越来越多的关键应用和大型应用是基于J2EE 来创建的,像银行系统和帐单系统这些关键应用要求有很高的可用性,而Google 和Yahoo 这样的大型应用就需要很好的可扩展性。在如今这个联系越来越紧密的世界,高可用性和良好的可扩展性的重要性日益突出。例如在1999 年6 月份,eBay 的服务停止了22 个小时,导致大约230 万的拍卖被中断,eBay 的股票也随之下降 了9.2 个百分点。        J2EE 集群就是一种能够提供高可用性、可扩展性以及容错性的流行技术。但是由于在J2EE 规范中没有对集群做出规范,各个J2EE 厂商就使用不同的方式来实现集群 ...
前序:      我们已经在前面的内容能里看到了,我们用 Scheduler 来管理我们的 Job;创建并关联触发器以使 Job 能被触发执行;以及如可选择 calendar 为给定的时程安排提供更多的灵活性。 1.Quartz 调度器的介绍      调度器(Scheduler) 是Quartz 框架的心脏,Scheduler也是 Quartz 的主要 API。对于 Quartz 用户来说,多数时候与框架的交互是发生于 Scheduler  之上的。客服端与 Scheduler 交互是通过 org.quartz.Scheduler接口的。从Quartz内部来说,我们可以从前面看出,它是任务 ...
前序:     前面我们已经通过编程的方式实现了多个作业任务执行具体操作的演示;但具体到实际的时候,如果我们要在 Job 启动之后改变它的执行时间和频度,则必须去修改源代码重新编译,我们很难去以编程的形式来实现作 ...
前序:     在第一个例子我看到了自定义的作业类在任务调度器上注册后,则通过任务调度器来实现启动;下面,我们将同一个作业类执行两个任务,并都将他们注册到任务调度器上!     首先一个job类指向两个任务,则任务性质可能一样,但任务信息存在差异;我们需要创建两个不同属性信息的job类实例;这个创建的动作是由Scheduler来完成;前面我们已经说了,它获取job信息并创建实例的前提操作如下:     JobDetail jobDetail = new JobDetail(jobName,Scheduler.DEFAULT_GROUP, jobClass); jobDet ...
    1. 一个简单的Quartz 工程     本示例应用比起众所周知的 System.out.println("Hello world from Quartz") 来还是要有趣些。当我们用Quartz 执行一个作业时,总是希望它能为我们执行一些有趣且有意义的任务。因此,接下来我们就要做一些有趣且有用的事情。 本章向您演示如何创建这么一个 Quartz 作业,Quartz 应用通知它要做事情的时候,就会去扫描指定的目录寻找 XML 文件。 假如在指定目录中找到了一个或多个 XML 文件的话,它将会打印出文件的一些概要信息。 且这个作业每格10秒执行一次;(时间间隔可以随意 ...
1.下载和安装 Quartz 根据资料上提供的网址http://www.opensymphony.com/quartz 我们可以下载到Quartz的最新版本1.6.4; 2.下载后包的说明        在下载后有一个包,以下是各文件目录里存放内容的说明 表 2.1  Quartz 的目录结构和内容         目录名 存放内容 Docs  docs/api                     Quartz 框架的JavaDoc Api 说明文档 docs/dbTables            创建 Quartz 的数据库对象的脚本 docs/wikidocs             ...
       由于目前的工作内容为建行CLPM批处理业务的设计工作,所以很好的理解批处理所用的任务调度框架Quartz势在必行;为了能够更好的去服务于工作,也为了提升自己,所以我学习了Quartz Job Scheduling Framework 中文版 V0.9.2.chm ...
Global site tag (gtag.js) - Google Analytics