Downloading and Installing Quartz

The download link for Quartz is located on the main Quartz page (www.opensymphony.com/quartz), which is hosted by OpenSymphony. Here you can get the latest version as well as several earlier versions.Quartz is available as a full distribution download, which includes source as well as a prebuilt deployable JAR file. The Quartz JARs are also available via the ibiblio maven repository, in case you want to integrate it with build systems such as Maven or Ivy.

The download file is in a ZIP format, so you need a zip utility such as WinZip. You can also use Java's jar command to unzip the distribution file:

jar -xvf quartz-1.5.0-rc1.zip

The contents of the Quartz distribution are extracted to the current directory.

The extracted Quartz zip file contains several subdirectories. Table 2.1 describes the directories that are part of the Quartz download.

Table 2.1. Quartz Directory Structure and Contents

Directory Name

What's in There

Docs

docs/api

Javadocs for the Quartz framework

docs/dbTables

Database scripts for creating the Quartz database

docs/wikidocs

The main documentation for Quartz (start with index.html)

Examples

Examples of using various aspects of the framework

Lib

Third-party libraries used by the framework

src/java/org/quartz

Source code for the client-side (public) API of the scheduler

src/java/org/quartz/core

Source code for the server (private) API of the scheduler

src/java/org/quartz/simpl

Simple implementations provided by the framework that have no dependencies on third-party products

src/java/org/quartz/impl

Implementations of support modules that might have dependencies on third-party products

src/java/org/quartz/utils

Helper and utility components used throughout the framework

src/jboss

Quartz features that are specific for use with Jboss

src/oracle

Quartz features that are specific for use with Oracle

src/weblogic

Quartz features that are specific for use with WebLogic

 

Installing the Necessary JAR Files

If you are in a hurry to get Quartz working, the fastest way is to grab the prebuilt Quartz JAR, located in the root directory of the download, and add it to the classpath of your application. You also need to grab the dependent JARs Quartz requires. Table 2.2 lists the JAR files that are required for a basic Quartz installation.

Table 2.2. JARs Required for a Basic Quartz Installation

Name

Location

Notes

Commons BeanUtils

<quartz-download>/ lib/optional

Depends on how you use Quartz.It's best to just include it.

Commons Collections

/ lib/cor

Yes.

Commons Digester

/ lib/optional

Depends on how you use Quartz.It's best to just include it.

Commons Logging

/ lib/core

Yes.

As with the Quartz JAR, you should also put the dependent JARs in the classpath for your application.

Be Careful of Version Conflicts

Quartz is built and tested with specific third-party versions. Many other projects, including some very well-known application servers, use these third-party libraries. In some cases, the libraries already are part of the application server. Class loaders are a strange and wonderful entity. If you're installing Quartz into an application server environment, be careful not to use duplicate libraries, or you're likely to get strange results. With the libraries mentioned in Table 2.1, you should be fine if those libraries exist in other parts of the server. However, libraries such as servlet.jar and ejb.jar could give you troubles if there are duplicates in the classpath.In those cases, you might want to leave out your copy and see if the application still functions.

 

The quartz.properties File

Quartz includes a configuration file called quartz.properties that enables you to configure many aspects of Quartz. A default quartz.properties file exists within the Quartz JAR, but if you need to modify any of the defaults, you must include a copy of this file in your classpath.

The next chapter goes into detail about which settings are configurable from this file and how to do it. You will most likely need to configure one or more of these settings, so you should copy the default quartz.properties file to your classpath.

Категории