打包 Quartz 应用程序
让我们最后简单讨论打包一个用到了 Quarts 框架的应用程序的流程,也以此来结束本章的内容。
·Quartz 第三方依赖包
从 1.5 版的发行包开始,你会看到一个 <QUARTZ_HOME>\lib 目录,在这个目录,你会发现几个子目录:
·<QUARTZ_HOME>\lib\core
·<QUARTZ_HOME>\lib\optional
·<QUARTZ_HOME>\lib\build
作为开发呢,你绝对是需求 Quartz JAR 包,也需要其他一些依赖包。需要哪些第三方包还依赖于你是运行在独立环境中还是作为一个 J2EE 发行包的一部份。典型的,jakarta Commons 库 (commons-loggin, commons-beanutils,还有其他的) 总是要用到。然而,当你是部署到一个应用服务器环境中,你需要确保不能把那些在应用服务器上已存在的包拷过去;如果你这样做的,你可能回得到非常奇怪的结果。
表 3.1 列出了第三方包的信息,帮助你确定是否需要在应用中包含它们
表 3.1. Quartz 第三方包,必须/可选
名称
必须/备注
网址
activation.jar
主要是 JavaMail 要用到
http://java.sun.com/products/javabeans/glasgow/jaf.html
commons-beanutils.jar
是
http://jakarta.apache.org/commons/beanutils
commons-collections.jar
是
http://jakarta.apache.org/commons/collections
commons-dbcp-1.1.jar
是,假如用到数据库作为作业存储
http://jakarta.apache.org/commons/dbcp
commons-digester.jar
是
假如你使用了某些插件,就需要它
commons-logging.jar
是
http://jakarta.apache.org/commons/logging/
commons-pool-1.1.jar
http://jakarta.apache.org/commons/pool/
javamail.jar
发送 e-mail 用
http://java.sun.com/products/javamail/
jdbc2_0-stdext.jar
是,假如用到数据库作为作业存储
http://java.sun.com/products/jdbc/
jta.jar
是,假如用到数据库作为作业存储
http://java.sun.com/products/jta/database
quartz.jar
是
Quart 框架核心包
servlet.jar
假如使用了Servlet 容器,但容器中应该存在
http://java.sun.com/products/servlet/
log4j.jar
来吧,谁没用过它呢?
http://logging.apache.org/
·配置和属性文件
你还必须在你的应用中包含 quartz.properties。假如你是以散装(exploded format) 形式部署应用,你应该把 quartz.properties 文件放置在类加载器能够加载的目录中。(所谓的 “exploed” 形式指不打成一个 JAR、WAR、EAR 或者其他 Java 包,以独立文件存在于文件系统中) 例如,如果你有一个 classes 目录(比如一个 Web 应用的 WEB-INF/classes 目录),就可以把 quartz.properties 文件放在那儿。假如你以 Java 打包形式部署,应该放属性文件放在包的根下。在对待 quartz_job.xml 文件时也使用同样的规则。