Class StdSchedulerFactory

  • All Implemented Interfaces:
    SchedulerFactory

    public class StdSchedulerFactory
    extends java.lang.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/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 "[email protected]", for example, to reference the scheduler's instance name as the value for some other property, you would use "[email protected]".

    Author:
    James House, Anthony Eden, Mohammad Rezaei
    • Field Detail

      • PROP_SCHED_INSTANCE_NAME

        public static final java.lang.String PROP_SCHED_INSTANCE_NAME
        See Also:
        Constant Field Values
      • PROP_SCHED_INSTANCE_ID

        public static final java.lang.String PROP_SCHED_INSTANCE_ID
        See Also:
        Constant Field Values
      • PROP_SCHED_INSTANCE_ID_GENERATOR_PREFIX

        public static final java.lang.String PROP_SCHED_INSTANCE_ID_GENERATOR_PREFIX
        See Also:
        Constant Field Values
      • PROP_SCHED_INSTANCE_ID_GENERATOR_CLASS

        public static final java.lang.String PROP_SCHED_INSTANCE_ID_GENERATOR_CLASS
        See Also:
        Constant Field Values
      • PROP_SCHED_THREAD_NAME

        public static final java.lang.String PROP_SCHED_THREAD_NAME
        See Also:
        Constant Field Values
      • PROP_SCHED_BATCH_TIME_WINDOW

        public static final java.lang.String PROP_SCHED_BATCH_TIME_WINDOW
        See Also:
        Constant Field Values
      • PROP_SCHED_MAX_BATCH_SIZE

        public static final java.lang.String PROP_SCHED_MAX_BATCH_SIZE
        See Also:
        Constant Field Values
      • PROP_SCHED_JMX_EXPORT

        public static final java.lang.String PROP_SCHED_JMX_EXPORT
        See Also:
        Constant Field Values
      • PROP_SCHED_JMX_OBJECT_NAME

        public static final java.lang.String PROP_SCHED_JMX_OBJECT_NAME
        See Also:
        Constant Field Values
      • PROP_SCHED_JMX_PROXY

        public static final java.lang.String PROP_SCHED_JMX_PROXY
        See Also:
        Constant Field Values
      • PROP_SCHED_JMX_PROXY_CLASS

        public static final java.lang.String PROP_SCHED_JMX_PROXY_CLASS
        See Also:
        Constant Field Values
      • PROP_SCHED_RMI_EXPORT

        public static final java.lang.String PROP_SCHED_RMI_EXPORT
        See Also:
        Constant Field Values
      • PROP_SCHED_RMI_PROXY

        public static final java.lang.String PROP_SCHED_RMI_PROXY
        See Also:
        Constant Field Values
      • PROP_SCHED_RMI_HOST

        public static final java.lang.String PROP_SCHED_RMI_HOST
        See Also:
        Constant Field Values
      • PROP_SCHED_RMI_PORT

        public static final java.lang.String PROP_SCHED_RMI_PORT
        See Also:
        Constant Field Values
      • PROP_SCHED_RMI_SERVER_PORT

        public static final java.lang.String PROP_SCHED_RMI_SERVER_PORT
        See Also:
        Constant Field Values
      • PROP_SCHED_RMI_CREATE_REGISTRY

        public static final java.lang.String PROP_SCHED_RMI_CREATE_REGISTRY
        See Also:
        Constant Field Values
      • PROP_SCHED_RMI_BIND_NAME

        public static final java.lang.String PROP_SCHED_RMI_BIND_NAME
        See Also:
        Constant Field Values
      • PROP_SCHED_WRAP_JOB_IN_USER_TX

        public static final java.lang.String PROP_SCHED_WRAP_JOB_IN_USER_TX
        See Also:
        Constant Field Values
      • PROP_SCHED_USER_TX_URL

        public static final java.lang.String PROP_SCHED_USER_TX_URL
        See Also:
        Constant Field Values
      • PROP_SCHED_IDLE_WAIT_TIME

        public static final java.lang.String PROP_SCHED_IDLE_WAIT_TIME
        See Also:
        Constant Field Values
      • PROP_SCHED_DB_FAILURE_RETRY_INTERVAL

        public static final java.lang.String PROP_SCHED_DB_FAILURE_RETRY_INTERVAL
        See Also:
        Constant Field Values
      • PROP_SCHED_MAKE_SCHEDULER_THREAD_DAEMON

        public static final java.lang.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 java.lang.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 java.lang.String PROP_SCHED_CLASS_LOAD_HELPER_CLASS
        See Also:
        Constant Field Values
      • PROP_SCHED_JOB_FACTORY_CLASS

        public static final java.lang.String PROP_SCHED_JOB_FACTORY_CLASS
        See Also:
        Constant Field Values
      • PROP_SCHED_JOB_FACTORY_PREFIX

        public static final java.lang.String PROP_SCHED_JOB_FACTORY_PREFIX
        See Also:
        Constant Field Values
      • PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN

        public static final java.lang.String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN
        See Also:
        Constant Field Values
      • PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN_WITH_WAIT

        public static final java.lang.String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN_WITH_WAIT
        See Also:
        Constant Field Values
      • PROP_SCHED_CONTEXT_PREFIX

        public static final java.lang.String PROP_SCHED_CONTEXT_PREFIX
        See Also:
        Constant Field Values
      • PROP_THREAD_POOL_PREFIX

        public static final java.lang.String PROP_THREAD_POOL_PREFIX
        See Also:
        Constant Field Values
      • PROP_THREAD_POOL_CLASS

        public static final java.lang.String PROP_THREAD_POOL_CLASS
        See Also:
        Constant Field Values
      • PROP_JOB_STORE_PREFIX

        public static final java.lang.String PROP_JOB_STORE_PREFIX
        See Also:
        Constant Field Values
      • PROP_JOB_STORE_LOCK_HANDLER_PREFIX

        public static final java.lang.String PROP_JOB_STORE_LOCK_HANDLER_PREFIX
        See Also:
        Constant Field Values
      • PROP_JOB_STORE_LOCK_HANDLER_CLASS

        public static final java.lang.String PROP_JOB_STORE_LOCK_HANDLER_CLASS
        See Also:
        Constant Field Values
      • PROP_TABLE_PREFIX

        public static final java.lang.String PROP_TABLE_PREFIX
        See Also:
        Constant Field Values
      • PROP_JOB_STORE_CLASS

        public static final java.lang.String PROP_JOB_STORE_CLASS
        See Also:
        Constant Field Values
      • PROP_JOB_STORE_USE_PROP

        public static final java.lang.String PROP_JOB_STORE_USE_PROP
        See Also:
        Constant Field Values
      • PROP_DATASOURCE_PREFIX

        public static final java.lang.String PROP_DATASOURCE_PREFIX
        See Also:
        Constant Field Values
      • PROP_CONNECTION_PROVIDER_CLASS

        public static final java.lang.String PROP_CONNECTION_PROVIDER_CLASS
        See Also:
        Constant Field Values
      • PROP_DATASOURCE_JNDI_URL

        public static final java.lang.String PROP_DATASOURCE_JNDI_URL
        See Also:
        Constant Field Values
      • PROP_DATASOURCE_JNDI_ALWAYS_LOOKUP

        public static final java.lang.String PROP_DATASOURCE_JNDI_ALWAYS_LOOKUP
        See Also:
        Constant Field Values
      • PROP_DATASOURCE_JNDI_INITIAL

        public static final java.lang.String PROP_DATASOURCE_JNDI_INITIAL
        See Also:
        Constant Field Values
      • PROP_DATASOURCE_JNDI_PROVDER

        public static final java.lang.String PROP_DATASOURCE_JNDI_PROVDER
        See Also:
        Constant Field Values
      • PROP_DATASOURCE_JNDI_PRINCIPAL

        public static final java.lang.String PROP_DATASOURCE_JNDI_PRINCIPAL
        See Also:
        Constant Field Values
      • PROP_DATASOURCE_JNDI_CREDENTIALS

        public static final java.lang.String PROP_DATASOURCE_JNDI_CREDENTIALS
        See Also:
        Constant Field Values
      • PROP_PLUGIN_PREFIX

        public static final java.lang.String PROP_PLUGIN_PREFIX
        See Also:
        Constant Field Values
      • PROP_PLUGIN_CLASS

        public static final java.lang.String PROP_PLUGIN_CLASS
        See Also:
        Constant Field Values
      • PROP_JOB_LISTENER_PREFIX

        public static final java.lang.String PROP_JOB_LISTENER_PREFIX
        See Also:
        Constant Field Values
      • PROP_TRIGGER_LISTENER_PREFIX

        public static final java.lang.String PROP_TRIGGER_LISTENER_PREFIX
        See Also:
        Constant Field Values
      • PROP_LISTENER_CLASS

        public static final java.lang.String PROP_LISTENER_CLASS
        See Also:
        Constant Field Values
      • DEFAULT_INSTANCE_ID

        public static final java.lang.String DEFAULT_INSTANCE_ID
        See Also:
        Constant Field Values
      • AUTO_GENERATE_INSTANCE_ID

        public static final java.lang.String AUTO_GENERATE_INSTANCE_ID
        See Also:
        Constant Field Values
      • PROP_THREAD_EXECUTOR

        public static final java.lang.String PROP_THREAD_EXECUTOR
        See Also:
        Constant Field Values
      • PROP_THREAD_EXECUTOR_CLASS

        public static final java.lang.String PROP_THREAD_EXECUTOR_CLASS
        See Also:
        Constant Field Values
      • SYSTEM_PROPERTY_AS_INSTANCE_ID

        public static final java.lang.String SYSTEM_PROPERTY_AS_INSTANCE_ID
        See Also:
        Constant Field Values
      • MANAGEMENT_REST_SERVICE_ENABLED

        public static final java.lang.String MANAGEMENT_REST_SERVICE_ENABLED
        See Also:
        Constant Field Values
      • MANAGEMENT_REST_SERVICE_HOST_PORT

        public static final java.lang.String MANAGEMENT_REST_SERVICE_HOST_PORT
        See Also:
        Constant Field Values
    • 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
      • 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.