1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
==============================================================================
This file is meant to help you get started in poking around within the
Quartz project (http://www.opensymphony.com/quartz).
==============================================================================
What is Quartz?
==============================================================================
Quartz is an opensource project aimed at creating a
free-for-commercial use Job Scheduler, with 'enterprise' features.
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy
of the License at
http://www.apache.org/licenses/LICENSE-2.0
Also, to keep the legal people happy:
This product includes software developed by the
Apache Software Foundation (http://www.apache.org/)
Competing Products?
==============================================================================
There are no known competing open source projects (there are a few
schedulers, but they are basically Cron replacements written in Java)
Commercially, take a look at Flux, which has many excellent features:
http://www.fluxcorp.com/
What is in this package?
==============================================================================
quartz-all-<ver>.jar all in one Quartz library. Includes the core
Quartz components plus all optional packages. If
you use this library, no other quartz-*.jars are
necessary.
quartz-<ver>.jar core Quartz library.
quartz-jboss-<ver>.jar optional JBoss specific Quartz extensions such as
the Quartz startup MBean, QuartzService.
quartz-oracle-<ver>.jar optional Oracle specific Quartz extensions such as
the OracleDelegate.
quartz-weblogic-<ver>.jar optional WebLogic specific Quartz extensions such
as the WebLogicDelegate.
build.xml an "ANT" build file, for building Quartz.
readme.txt this file (duh!).
license.txt a document declaring the license under which
Quartz can be used and distributed.
src-header.txt piece of text to put at the top of each new file
docs the root directory of all documentation.
docs/wikidocs the main documentation for Quartz. Start with
the "index.html"
docs/dbTables sql scripts for creating Quartz database tables in
a variety of different databases.
src/java/org/quartz the main package of the Quartz project,
containing the 'public' (client-side) API for
the scheduler
src/java/org/quartz/core a package containing the 'private' (server-side)
components of Quartz.
src/java/org/quartz/simpl a package contain simple implementations of
Quartz support modules (JobStores, ThreadPools,
Loggers, etc.) that have no dependencies on
external (third-party) products.
src/java/org/quartz/impl a package containing implementations of Quartz
support modules (JobStores, ThreadPools,
Loggers, etc.) that may have dependencies on
external (third-party) products - but may be
more robust.
src/java/org/quartz/utils a package containing some utility/helper
components used through-out the main Quartz
components.
src/examples/org/quartz a directory containing some code samples on the
examples usage of Quartz. The first example you should
look at is 'example1.bat' or 'example1.sh' -
depending if you're a win-dos or unix person.
This example uses the code found in the
SchedTest.java class, which is also in the
examples directory.
webapp a directory containing a simple web-app for managing
Quartz schedulers.
lib a directory which should contain all of the
third-party libraries that are needed in order
to use all of the features of Quartz. (Some are
not automatically there, but you need to get them
and put them there if you use the features they
depend on -- see below)
Where should I start looking in order to figure this thing out?
==============================================================================
There is a tutorial distributed with Quartz that can be found in the "docs"
directory. You should also read the FAQ in the docs/wikidocs/ directory.
Most of the Java source files are fairly well documented with JavaDOC -
consider this your "reference manual". There is a tutorial and configuration
reference that can be found from docs/wikidocs/index.html .
Start by looking at org.quartz.Scheduler, org.quartz.Job,
org.quartz.JobDetail and org.quartz.Trigger.
Examine and run the examples found in the "examples" directory.
If you're interested in the "behind the scenes" (server-side) code,
you'll want to look at org.quartz.core.QuartzSchedulerThread, which
will make you interested in org.quartz.spi.JobStore.java,
org.quartz.spi.ThreadPool.java and org.quartz.core.JobRunShell.
Have fun.
What do I do when I find something stupid?
==============================================================================
Help is available via the Quarts-Users forum:
http://forums.opensymphony.com/forum.jspa?forumID=6
Please report bugs / issues to JIRA at:
http://jira.opensymphony.com/browse/QUARTZ
HOW TO BUILD / RUN QUARTZ
==============================================================================
The current build process assumes you already have ANT version 1.6.3 or later
installed. If you don't, download from the Apache website (http://ant.apache.org)
and follow installation instructions. You can confirm the version of ANT you
have installed by typing: ant -version
To build:
1) If you are checking the project directly out of SVN, you will also need to
checkout the "opensymphony" project in a parallel directory in order to get
the common ANT build file: osbuild.xml
2) There should be a build.xml file located in the Quartz project root
directory.
3) If you have it setup right, you should be able to type: ant
It will search for build.xml in the current directory.
4) Available targets can be seen by typing: ant -projecthelp
5) To use the default build target, just type "ant" on the command line while
sitting in the main 'quartz' directory.
|