Quartz Job Scheduling Framework[翻译]第九章. 使用 Quartz 的远程方式 (第二部分)

4. 创建 Quartz RMI 服务端

你务必按几个步骤来配置 Quartz 来使用 RMI。其中的一些步骤会在创建 Quartz RMI 服务端用到,还有些步骤会在 Quartz 客户端连接服务端。我们先来阐述服务端的配置步骤。

·配置 Quartz RMI 服务端

第一步就是修改要部署到 Quartz RMI 服务端的 quartz.properties 文件。当在 Quartz 中使用 RMI,你还必须添加几个新的属性。表 9.1 包括了完整 RMI 属性列表。 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第九章. 使用 Quartz 的远程方式 (第一部分)

第九章. 使用 Quartz 的远程方式

以独立方式运行的 Quartz 应用程序,仅限于在 JVM 内部访问调度器。和其他任何 J2SE 程序一样,不使用其他某种机制的话,是决不允许从外部访问 JVM 中的对象的。

幸运的是,有几种技术(机制) 可让你做到这一点。Quartz 框架很好的支持其中一种机制--远程方法调用(RMI)。本章就是关注于如何部署 Quartz 为一个 RMI 服务,以便于你能够从  JVM 外部访问到调度器。这样做有几个好处,这也是我们本章要讨论内容。 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第三章. Hello Quartz (第四部分)

4. 打包 Quartz 应用程序

让我们最后简单讨论打包一个用到了 Quarts 框架的应用程序的流程,也以此来结束本章的内容。

·Quartz 第三方依赖包

从 1.5 版的发行包开始,你会看到一个 <QUARTZ_HOME>\lib 目录,在这个目录,你会发现几个子目录:

    ·<QUARTZ_HOME>\lib\core    ·<QUARTZ_HOME>\lib\optional

    ·<QUARTZ_HOME>\lib\build 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第三章. Hello Quartz (第三部分)

3. 声明式部署一个 Job

前面我们讨论过,尽可能的用声明式处理软件配置,其次才才虑编程式。再来看代码  3.6,如果我们要在 Job 启动之后改变它的执行时间和频度,必须去修改源代码重新编译。这种方式只适用于小的例子程序,但是对于一个大且复杂的系统,这就成了一个问题了。因此,假如能以声明式部署 Quart Job 时,并且也是需求允许的情况下,你应该每次都选择这种方式。

·配置 quartz.properties 文件

文件 quartz.properties 定义了 Quartz 应用运行时行为,还包含了许多能控制 Quartz 运转的属性。本章只会讲到它的基本配置;更多的高级设置将在以后讨论。在现阶段也不用太深入到每一项配置有效值的细节。 阅读全文 >>

重定向System.out和System.err到JTextPane,分别用黑色红色显示(改进)

在上一篇 重定向System.out和System.err到JTextPane,分别用黑色红色显示 中讲了如何把 System.out 和 System.err 重定向到 JTextPane 上,并分不同颜色显示,其中用到了 PipedInputStream、PipedOutputStream。那个例子还是参考的 《The Java Developers Almanac 1.4》,翻译出来叫做 《Java 开发者年鉴 1.4》,显得多么的权威啊,我当时还真把它看成官方最佳推荐实现了,太迷信了。

可是现在看来,前面那个实现不仅代码繁琐,而且是 Bug 多多。现在重新对上回的 ConsolePane 来个新的更简洁高效的实现。代码如下: 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第三章. Hello Quartz (第二部分)

2. 调度 Quartz ScanDirectoryJob

到目前为止,我们已经创建了一个 Quartz job,但还没有决定怎么处置它--明显地,我们需以某种方式为这个 Job 设置一个运行时间表。时间表可以是一次性的事件,或者我们可能会安装它在除周日之外的每个午夜执行。你即刻将会看到,Quartz Schduler 是框架的心脏与灵魂。所有的 Job 都通过 Schduler 注册;必要时,Scheduler 也会创建 Job 类的实例,并执行实例的 execute() 方法。 阅读全文 >>

重定向System.out和System.err到JTextPane,分别用黑色红色显示

把 System.out 和 System.err 重定向到 JTextArea 的做法在网上能找到不少,由于 JTextArea 不能用不同的字体分别显示内容。但我还是希望能象 Eclipse 控制台那样,标准输出为黑色,错误信息为红色,于是选择了 JTextPane 作为输出目的地。线程之间通信息用到了 PipedInputStream 、PipedOutputStream 和 SwingUtilities.invokeLater(new Runnable()。  

自定义了一个 JScrollPane,类名为 ConsolePane,写成的单例类;使用时只需要在你的面板上加上 ConsolePane组件,例如:getContentPane().add(ConsolePane.getInstance(), BorderLayout.CENTER);

界面截图(黑色和红色分别显示 System.out 和 System.err 定向的输出内容): 阅读全文 >>

Eclipse中执行Ant出现Could not find the main class的问题及解

这种情况通常是发生在换了另一份 Eclipse 拷贝之后。之前一般都能正常在 Eclipse 中执行 Ant 脚本,删除了原来的 Eclipse 之后换了另一个拷贝或者是新版本,在其中执行 Ant 脚本时弹出窗口出现以下错误:

---------------------------
Java Virtual Machine Launcher
---------------------------
Could not find the main class. Program will exit.
---------------------------
确定  
---------------------------

这种错误对用过 Java 的人来说还是很明白,找不到 Ant 的主类吗。不过说实话也困扰过我一段时间,也没去深究。说开了,症结就是 Eclipse 中的 ANT_HOME 指向不对。 阅读全文 >>

对StrutsConfigHelper工具的小小升级--增加代码着色显示功能

StrutsConfigHelper 小工具方便你对一个或多个 StrutsConfig 文件按条件查找各要素。在 《忙里找闲,自写了一个StrutsConfig配置文件条件查找工具》 一文章有对该工具的介绍。

软件为适宜之作,如果它确实对你毫无用处,你大可当它是垃圾,不因作者付出很大的苦劳,而勉强去接受;也许它还能给你带来些便利,那就体现了它的价值。 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第三章. Hello Quartz (第一部分)

[译者注:后面的章由于每章的内容较多,每章聚于一篇之中,过于臃肿,屏幕不比书本,三屏之后的内容一般不为读者乐意去阅读,此为第一部分]

第三章:Hello Quartz

多数读者都较容易从一个简明扼要的例子中明白一个东西。作为写作者,要注意避免把一章的内容精简地几乎什么都没了;作为读者呢,需要有耐心并且要进一步相信其后相关的章节应该去阅读,尽管这个例子看起来是如此之简单。

有了这种初衷,这一章将为你介绍如何用 Quartz 框架创建一个简单的应用程序,它展示了一个典型的应用。这个例子将让你领略到创建和执行一个简单应用的必要步骤。通过本章的学习,为你学习本书的后续章节打下了坚实的基础。 

阅读全文 >>