org.quartz.impl
Class StdSchedulerFactory

java.lang.Object
  extended by org.quartz.impl.StdSchedulerFactory
All Implemented Interfaces:
SchedulerFactory

public class StdSchedulerFactory
extends Object
implements SchedulerFactory

An implementation of SchedulerFactory that does all of its work of creating a QuartzScheduler instance based on the contents of a Properties file.

By default a properties file named "quartz.properties" is loaded from the 'current working directory'. If that fails, then the "quartz.properties" file located (as a resource) in the org/quartz package is loaded. If you wish to use a file other than these defaults, you must define the system property 'org.quartz.properties' to point to the file you want.

Alternatively, you can explicitly initialize the factory by calling one of the initialize(xx) methods before calling getScheduler().

See the sample properties files that are distributed with Quartz for information about the various settings available within the file. Full configuration documentation can be found at http://www.quartz-scheduler.org/docs/configuration/index.html

Instances of the specified JobStore, ThreadPool, and other SPI classes will be created by name, and then any additional properties specified for them in the config file will be set on the instance by calling an equivalent 'set' method. For example if the properties file contains the property 'org.quartz.jobStore.myProp = 10' then after the JobStore class has been instantiated, the method 'setMyProp()' will be called on it. Type conversion to primitive Java types (int, long, float, double, boolean, and String) are performed before calling the property's setter method.

One property can reference another property's value by specifying a value following the convention of "$@other.property.name", for example, to reference the scheduler's instance name as the value for some other property, you would use "$@org.quartz.scheduler.instanceName".

Author:
James House, Anthony Eden, Mohammad Rezaei

Field Summary
static String AUTO_GENERATE_INSTANCE_ID
           
static String DEFAULT_INSTANCE_ID
           
static String PROP_CONNECTION_PROVIDER_CLASS
           
static String PROP_DATASOURCE_DRIVER
           
static String PROP_DATASOURCE_JNDI_ALWAYS_LOOKUP
           
static String PROP_DATASOURCE_JNDI_CREDENTIALS
           
static String PROP_DATASOURCE_JNDI_INITIAL
           
static String PROP_DATASOURCE_JNDI_PRINCIPAL
           
static String PROP_DATASOURCE_JNDI_PROVDER
           
static String PROP_DATASOURCE_JNDI_URL
           
static String PROP_DATASOURCE_MAX_CONNECTIONS
           
static String PROP_DATASOURCE_PASSWORD
           
static String PROP_DATASOURCE_PREFIX
           
static String PROP_DATASOURCE_URL
           
static String PROP_DATASOURCE_USER
           
static String PROP_DATASOURCE_VALIDATION_QUERY
           
static String PROP_JOB_LISTENER_PREFIX
           
static String PROP_JOB_STORE_CLASS
           
static String PROP_JOB_STORE_LOCK_HANDLER_CLASS
           
static String PROP_JOB_STORE_LOCK_HANDLER_PREFIX
           
static String PROP_JOB_STORE_PREFIX
           
static String PROP_JOB_STORE_USE_PROP
           
static String PROP_LISTENER_CLASS
           
static String PROP_PLUGIN_CLASS
           
static String PROP_PLUGIN_PREFIX
           
static String PROP_SCHED_BATCH_TIME_WINDOW
           
static String PROP_SCHED_CLASS_LOAD_HELPER_CLASS
           
static String PROP_SCHED_CONTEXT_PREFIX
           
static String PROP_SCHED_DB_FAILURE_RETRY_INTERVAL
           
static String PROP_SCHED_IDLE_WAIT_TIME
           
static String PROP_SCHED_INSTANCE_ID
           
static String PROP_SCHED_INSTANCE_ID_GENERATOR_CLASS
           
static String PROP_SCHED_INSTANCE_ID_GENERATOR_PREFIX
           
static String PROP_SCHED_INSTANCE_NAME
           
static String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN
           
static String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN_WITH_WAIT
           
static String PROP_SCHED_JMX_EXPORT
           
static String PROP_SCHED_JMX_OBJECT_NAME
           
static String PROP_SCHED_JMX_PROXY
           
static String PROP_SCHED_JMX_PROXY_CLASS
           
static String PROP_SCHED_JOB_FACTORY_CLASS
           
static String PROP_SCHED_JOB_FACTORY_PREFIX
           
static String PROP_SCHED_MAKE_SCHEDULER_THREAD_DAEMON
           
static String PROP_SCHED_MAX_BATCH_SIZE
           
static String PROP_SCHED_NAME
           
static String PROP_SCHED_RMI_BIND_NAME
           
static String PROP_SCHED_RMI_CREATE_REGISTRY
           
static String PROP_SCHED_RMI_EXPORT
           
static String PROP_SCHED_RMI_HOST
           
static String PROP_SCHED_RMI_PORT
           
static String PROP_SCHED_RMI_PROXY
           
static String PROP_SCHED_RMI_SERVER_PORT
           
static String PROP_SCHED_SCHEDULER_THREADS_INHERIT_CONTEXT_CLASS_LOADER_OF_INITIALIZING_THREAD
           
static String PROP_SCHED_SKIP_UPDATE_CHECK
           
static String PROP_SCHED_THREAD_NAME
           
static String PROP_SCHED_USER_TX_URL
           
static String PROP_SCHED_WRAP_JOB_IN_USER_TX
           
static String PROP_TABLE_PREFIX
           
static String PROP_THREAD_EXECUTOR
           
static String PROP_THREAD_EXECUTOR_CLASS
           
static String PROP_THREAD_POOL_CLASS
           
static String PROP_THREAD_POOL_PREFIX
           
static String PROP_TRIGGER_LISTENER_PREFIX
           
static String PROPERTIES_FILE
           
static String SYSTEM_PROPERTY_AS_INSTANCE_ID
           
 
Constructor Summary
StdSchedulerFactory()
          Create an uninitialized StdSchedulerFactory.
StdSchedulerFactory(Properties props)
          Create a StdSchedulerFactory that has been initialized via initialize(Properties).
StdSchedulerFactory(String fileName)
          Create a StdSchedulerFactory that has been initialized via initialize(String).
 
Method Summary
 Collection<Scheduler> getAllSchedulers()
           Returns a handle to all known Schedulers (made by any StdSchedulerFactory instance.).
static Scheduler getDefaultScheduler()
           Returns a handle to the default Scheduler, creating it if it does not yet exist.
 org.slf4j.Logger getLog()
           
 Scheduler getScheduler()
           Returns a handle to the Scheduler produced by this factory.
 Scheduler getScheduler(String schedName)
           Returns a handle to the Scheduler with the given name, if it exists (if it has already been instantiated).
 void initialize()
           Initialize the SchedulerFactory with the contents of a Properties file and overriding System properties.
 void initialize(InputStream propertiesStream)
           Initialize the SchedulerFactory with the contents of the Properties file opened with the given InputStream.
 void initialize(Properties props)
           Initialize the SchedulerFactory with the contents of the given Properties object.
 void initialize(String filename)
           Initialize the SchedulerFactory with the contents of the Properties file with the given name.
protected  Scheduler instantiate(QuartzSchedulerResources rsrcs, QuartzScheduler qs)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTIES_FILE

public static final String PROPERTIES_FILE
See Also:
Constant Field Values

PROP_SCHED_INSTANCE_NAME

public static final String PROP_SCHED_INSTANCE_NAME
See Also:
Constant Field Values

PROP_SCHED_INSTANCE_ID

public static final String PROP_SCHED_INSTANCE_ID
See Also:
Constant Field Values

PROP_SCHED_INSTANCE_ID_GENERATOR_PREFIX

public static final String PROP_SCHED_INSTANCE_ID_GENERATOR_PREFIX
See Also:
Constant Field Values

PROP_SCHED_INSTANCE_ID_GENERATOR_CLASS

public static final String PROP_SCHED_INSTANCE_ID_GENERATOR_CLASS
See Also:
Constant Field Values

PROP_SCHED_THREAD_NAME

public static final String PROP_SCHED_THREAD_NAME
See Also:
Constant Field Values

PROP_SCHED_SKIP_UPDATE_CHECK

public static final String PROP_SCHED_SKIP_UPDATE_CHECK
See Also:
Constant Field Values

PROP_SCHED_BATCH_TIME_WINDOW

public static final String PROP_SCHED_BATCH_TIME_WINDOW
See Also:
Constant Field Values

PROP_SCHED_MAX_BATCH_SIZE

public static final String PROP_SCHED_MAX_BATCH_SIZE
See Also:
Constant Field Values

PROP_SCHED_JMX_EXPORT

public static final String PROP_SCHED_JMX_EXPORT
See Also:
Constant Field Values

PROP_SCHED_JMX_OBJECT_NAME

public static final String PROP_SCHED_JMX_OBJECT_NAME
See Also:
Constant Field Values

PROP_SCHED_JMX_PROXY

public static final String PROP_SCHED_JMX_PROXY
See Also:
Constant Field Values

PROP_SCHED_JMX_PROXY_CLASS

public static final String PROP_SCHED_JMX_PROXY_CLASS
See Also:
Constant Field Values

PROP_SCHED_RMI_EXPORT

public static final String PROP_SCHED_RMI_EXPORT
See Also:
Constant Field Values

PROP_SCHED_RMI_PROXY

public static final String PROP_SCHED_RMI_PROXY
See Also:
Constant Field Values

PROP_SCHED_RMI_HOST

public static final String PROP_SCHED_RMI_HOST
See Also:
Constant Field Values

PROP_SCHED_RMI_PORT

public static final String PROP_SCHED_RMI_PORT
See Also:
Constant Field Values

PROP_SCHED_RMI_SERVER_PORT

public static final String PROP_SCHED_RMI_SERVER_PORT
See Also:
Constant Field Values

PROP_SCHED_RMI_CREATE_REGISTRY

public static final String PROP_SCHED_RMI_CREATE_REGISTRY
See Also:
Constant Field Values

PROP_SCHED_RMI_BIND_NAME

public static final String PROP_SCHED_RMI_BIND_NAME
See Also:
Constant Field Values

PROP_SCHED_WRAP_JOB_IN_USER_TX

public static final String PROP_SCHED_WRAP_JOB_IN_USER_TX
See Also:
Constant Field Values

PROP_SCHED_USER_TX_URL

public static final String PROP_SCHED_USER_TX_URL
See Also:
Constant Field Values

PROP_SCHED_IDLE_WAIT_TIME

public static final String PROP_SCHED_IDLE_WAIT_TIME
See Also:
Constant Field Values

PROP_SCHED_DB_FAILURE_RETRY_INTERVAL

public static final String PROP_SCHED_DB_FAILURE_RETRY_INTERVAL
See Also:
Constant Field Values

PROP_SCHED_MAKE_SCHEDULER_THREAD_DAEMON

public static final String PROP_SCHED_MAKE_SCHEDULER_THREAD_DAEMON
See Also:
Constant Field Values

PROP_SCHED_SCHEDULER_THREADS_INHERIT_CONTEXT_CLASS_LOADER_OF_INITIALIZING_THREAD

public static final String PROP_SCHED_SCHEDULER_THREADS_INHERIT_CONTEXT_CLASS_LOADER_OF_INITIALIZING_THREAD
See Also:
Constant Field Values

PROP_SCHED_CLASS_LOAD_HELPER_CLASS

public static final String PROP_SCHED_CLASS_LOAD_HELPER_CLASS
See Also:
Constant Field Values

PROP_SCHED_JOB_FACTORY_CLASS

public static final String PROP_SCHED_JOB_FACTORY_CLASS
See Also:
Constant Field Values

PROP_SCHED_JOB_FACTORY_PREFIX

public static final String PROP_SCHED_JOB_FACTORY_PREFIX
See Also:
Constant Field Values

PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN

public static final String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN
See Also:
Constant Field Values

PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN_WITH_WAIT

public static final String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN_WITH_WAIT
See Also:
Constant Field Values

PROP_SCHED_CONTEXT_PREFIX

public static final String PROP_SCHED_CONTEXT_PREFIX
See Also:
Constant Field Values

PROP_THREAD_POOL_PREFIX

public static final String PROP_THREAD_POOL_PREFIX
See Also:
Constant Field Values

PROP_THREAD_POOL_CLASS

public static final String PROP_THREAD_POOL_CLASS
See Also:
Constant Field Values

PROP_JOB_STORE_PREFIX

public static final String PROP_JOB_STORE_PREFIX
See Also:
Constant Field Values

PROP_JOB_STORE_LOCK_HANDLER_PREFIX

public static final String PROP_JOB_STORE_LOCK_HANDLER_PREFIX
See Also:
Constant Field Values

PROP_JOB_STORE_LOCK_HANDLER_CLASS

public static final String PROP_JOB_STORE_LOCK_HANDLER_CLASS
See Also:
Constant Field Values

PROP_TABLE_PREFIX

public static final String PROP_TABLE_PREFIX
See Also:
Constant Field Values

PROP_SCHED_NAME

public static final String PROP_SCHED_NAME
See Also:
Constant Field Values

PROP_JOB_STORE_CLASS

public static final String PROP_JOB_STORE_CLASS
See Also:
Constant Field Values

PROP_JOB_STORE_USE_PROP

public static final String PROP_JOB_STORE_USE_PROP
See Also:
Constant Field Values

PROP_DATASOURCE_PREFIX

public static final String PROP_DATASOURCE_PREFIX
See Also:
Constant Field Values

PROP_CONNECTION_PROVIDER_CLASS

public static final String PROP_CONNECTION_PROVIDER_CLASS
See Also:
Constant Field Values

PROP_DATASOURCE_DRIVER

public static final String PROP_DATASOURCE_DRIVER
See Also:
Constant Field Values

PROP_DATASOURCE_URL

public static final String PROP_DATASOURCE_URL
See Also:
Constant Field Values

PROP_DATASOURCE_USER

public static final String PROP_DATASOURCE_USER
See Also:
Constant Field Values

PROP_DATASOURCE_PASSWORD

public static final String PROP_DATASOURCE_PASSWORD
See Also:
Constant Field Values

PROP_DATASOURCE_MAX_CONNECTIONS

public static final String PROP_DATASOURCE_MAX_CONNECTIONS
See Also:
Constant Field Values

PROP_DATASOURCE_VALIDATION_QUERY

public static final String PROP_DATASOURCE_VALIDATION_QUERY
See Also:
Constant Field Values

PROP_DATASOURCE_JNDI_URL

public static final String PROP_DATASOURCE_JNDI_URL
See Also:
Constant Field Values

PROP_DATASOURCE_JNDI_ALWAYS_LOOKUP

public static final String PROP_DATASOURCE_JNDI_ALWAYS_LOOKUP
See Also:
Constant Field Values

PROP_DATASOURCE_JNDI_INITIAL

public static final String PROP_DATASOURCE_JNDI_INITIAL
See Also:
Constant Field Values

PROP_DATASOURCE_JNDI_PROVDER

public static final String PROP_DATASOURCE_JNDI_PROVDER
See Also:
Constant Field Values

PROP_DATASOURCE_JNDI_PRINCIPAL

public static final String PROP_DATASOURCE_JNDI_PRINCIPAL
See Also:
Constant Field Values

PROP_DATASOURCE_JNDI_CREDENTIALS

public static final String PROP_DATASOURCE_JNDI_CREDENTIALS
See Also:
Constant Field Values

PROP_PLUGIN_PREFIX

public static final String PROP_PLUGIN_PREFIX
See Also:
Constant Field Values

PROP_PLUGIN_CLASS

public static final String PROP_PLUGIN_CLASS
See Also:
Constant Field Values

PROP_JOB_LISTENER_PREFIX

public static final String PROP_JOB_LISTENER_PREFIX
See Also:
Constant Field Values

PROP_TRIGGER_LISTENER_PREFIX

public static final String PROP_TRIGGER_LISTENER_PREFIX
See Also:
Constant Field Values

PROP_LISTENER_CLASS

public static final String PROP_LISTENER_CLASS
See Also:
Constant Field Values

DEFAULT_INSTANCE_ID

public static final String DEFAULT_INSTANCE_ID
See Also:
Constant Field Values

AUTO_GENERATE_INSTANCE_ID

public static final String AUTO_GENERATE_INSTANCE_ID
See Also:
Constant Field Values

PROP_THREAD_EXECUTOR

public static final String PROP_THREAD_EXECUTOR
See Also:
Constant Field Values

PROP_THREAD_EXECUTOR_CLASS

public static final String PROP_THREAD_EXECUTOR_CLASS
See Also:
Constant Field Values

SYSTEM_PROPERTY_AS_INSTANCE_ID

public static final String SYSTEM_PROPERTY_AS_INSTANCE_ID
See Also:
Constant Field Values
Constructor Detail

StdSchedulerFactory

public StdSchedulerFactory()
Create an uninitialized StdSchedulerFactory.


StdSchedulerFactory

public StdSchedulerFactory(Properties props)
                    throws SchedulerException
Create a StdSchedulerFactory that has been initialized via initialize(Properties).

Throws:
SchedulerException
See Also:
initialize(Properties)

StdSchedulerFactory

public StdSchedulerFactory(String fileName)
                    throws SchedulerException
Create a StdSchedulerFactory that has been initialized via initialize(String).

Throws:
SchedulerException
See Also:
initialize(String)
Method Detail

getLog

public org.slf4j.Logger getLog()

initialize

public void initialize()
                throws SchedulerException

Initialize the SchedulerFactory with the contents of a Properties file and overriding System properties.

By default a properties file named "quartz.properties" is loaded from the 'current working directory'. If that fails, then the "quartz.properties" file located (as a resource) in the org/quartz package is loaded. If you wish to use a file other than these defaults, you must define the system property 'org.quartz.properties' to point to the file you want.

System properties (environment variables, and -D definitions on the command-line when running the JVM) override any properties in the loaded file. For this reason, you may want to use a different initialize() method if your application security policy prohibits access to System.getProperties().

Throws:
SchedulerException

initialize

public void initialize(String filename)
                throws SchedulerException

Initialize the SchedulerFactory with the contents of the Properties file with the given name.

Throws:
SchedulerException

initialize

public void initialize(InputStream propertiesStream)
                throws SchedulerException

Initialize the SchedulerFactory with the contents of the Properties file opened with the given InputStream.

Throws:
SchedulerException

initialize

public void initialize(Properties props)
                throws SchedulerException

Initialize the SchedulerFactory with the contents of the given Properties object.

Throws:
SchedulerException

instantiate

protected Scheduler instantiate(QuartzSchedulerResources rsrcs,
                                QuartzScheduler qs)

getScheduler

public Scheduler getScheduler()
                       throws SchedulerException

Returns a handle to the Scheduler produced by this factory.

If one of the initialize methods has not be previously called, then the default (no-arg) initialize() method will be called by this method.

Specified by:
getScheduler in interface SchedulerFactory
Throws:
SchedulerException - if there is a problem with the underlying Scheduler.

getDefaultScheduler

public static Scheduler getDefaultScheduler()
                                     throws SchedulerException

Returns a handle to the default Scheduler, creating it if it does not yet exist.

Throws:
SchedulerException
See Also:
initialize()

getScheduler

public Scheduler getScheduler(String schedName)
                       throws SchedulerException

Returns a handle to the Scheduler with the given name, if it exists (if it has already been instantiated).

Specified by:
getScheduler in interface SchedulerFactory
Throws:
SchedulerException

getAllSchedulers

public Collection<Scheduler> getAllSchedulers()
                                       throws SchedulerException

Returns a handle to all known Schedulers (made by any StdSchedulerFactory instance.).

Specified by:
getAllSchedulers in interface SchedulerFactory
Throws:
SchedulerException


Copyright 2001-2012, Terracotta, Inc.