public class StdSchedulerFactory extends Object implements SchedulerFactory
An implementation of
that
does all of its work of creating a SchedulerFactory
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
, 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.
ThreadPool
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]".
Constructor and Description |
---|
StdSchedulerFactory()
Create an uninitialized StdSchedulerFactory.
|
StdSchedulerFactory(Properties props)
Create a StdSchedulerFactory that has been initialized via
. |
StdSchedulerFactory(String fileName)
Create a StdSchedulerFactory that has been initialized via
. |
Modifier and Type | Method and Description |
---|---|
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
with
the contents of a Properties file and overriding System
properties. |
void |
initialize(InputStream propertiesStream)
Initialize the
with
the contents of the Properties file opened with the
given InputStream . |
void |
initialize(Properties props)
Initialize the
with
the contents of the given Properties object. |
void |
initialize(String filename)
Initialize the
with
the contents of the Properties file with the given
name. |
protected Scheduler |
instantiate(QuartzSchedulerResources rsrcs,
QuartzScheduler qs) |
public static final String PROPERTIES_FILE
public static final String PROP_SCHED_INSTANCE_NAME
public static final String PROP_SCHED_INSTANCE_ID
public static final String PROP_SCHED_INSTANCE_ID_GENERATOR_PREFIX
public static final String PROP_SCHED_INSTANCE_ID_GENERATOR_CLASS
public static final String PROP_SCHED_THREAD_NAME
public static final String PROP_SCHED_BATCH_TIME_WINDOW
public static final String PROP_SCHED_MAX_BATCH_SIZE
public static final String PROP_SCHED_JMX_EXPORT
public static final String PROP_SCHED_JMX_OBJECT_NAME
public static final String PROP_SCHED_JMX_PROXY
public static final String PROP_SCHED_JMX_PROXY_CLASS
public static final String PROP_SCHED_RMI_EXPORT
public static final String PROP_SCHED_RMI_PROXY
public static final String PROP_SCHED_RMI_HOST
public static final String PROP_SCHED_RMI_PORT
public static final String PROP_SCHED_RMI_SERVER_PORT
public static final String PROP_SCHED_RMI_CREATE_REGISTRY
public static final String PROP_SCHED_RMI_BIND_NAME
public static final String PROP_SCHED_WRAP_JOB_IN_USER_TX
public static final String PROP_SCHED_USER_TX_URL
public static final String PROP_SCHED_IDLE_WAIT_TIME
public static final String PROP_SCHED_DB_FAILURE_RETRY_INTERVAL
public static final String PROP_SCHED_MAKE_SCHEDULER_THREAD_DAEMON
public static final String PROP_SCHED_SCHEDULER_THREADS_INHERIT_CONTEXT_CLASS_LOADER_OF_INITIALIZING_THREAD
public static final String PROP_SCHED_CLASS_LOAD_HELPER_CLASS
public static final String PROP_SCHED_JOB_FACTORY_CLASS
public static final String PROP_SCHED_JOB_FACTORY_PREFIX
public static final String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN
public static final String PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN_WITH_WAIT
public static final String PROP_SCHED_CONTEXT_PREFIX
public static final String PROP_THREAD_POOL_PREFIX
public static final String PROP_THREAD_POOL_CLASS
public static final String PROP_JOB_STORE_PREFIX
public static final String PROP_JOB_STORE_LOCK_HANDLER_PREFIX
public static final String PROP_JOB_STORE_LOCK_HANDLER_CLASS
public static final String PROP_TABLE_PREFIX
public static final String PROP_SCHED_NAME
public static final String PROP_JOB_STORE_CLASS
public static final String PROP_JOB_STORE_USE_PROP
public static final String PROP_DATASOURCE_PREFIX
public static final String PROP_CONNECTION_PROVIDER_CLASS
@Deprecated public static final String PROP_DATASOURCE_DRIVER
PoolingConnectionProvider.DB_DRIVER
@Deprecated public static final String PROP_DATASOURCE_URL
PoolingConnectionProvider.DB_URL
@Deprecated public static final String PROP_DATASOURCE_USER
PoolingConnectionProvider.DB_USER
@Deprecated public static final String PROP_DATASOURCE_PASSWORD
PoolingConnectionProvider.DB_PASSWORD
@Deprecated public static final String PROP_DATASOURCE_MAX_CONNECTIONS
PoolingConnectionProvider.DB_MAX_CONNECTIONS
@Deprecated public static final String PROP_DATASOURCE_VALIDATION_QUERY
PoolingConnectionProvider.DB_VALIDATION_QUERY
public static final String PROP_DATASOURCE_JNDI_URL
public static final String PROP_DATASOURCE_JNDI_ALWAYS_LOOKUP
public static final String PROP_DATASOURCE_JNDI_INITIAL
public static final String PROP_DATASOURCE_JNDI_PROVDER
public static final String PROP_DATASOURCE_JNDI_PRINCIPAL
public static final String PROP_DATASOURCE_JNDI_CREDENTIALS
public static final String PROP_PLUGIN_PREFIX
public static final String PROP_PLUGIN_CLASS
public static final String PROP_JOB_LISTENER_PREFIX
public static final String PROP_TRIGGER_LISTENER_PREFIX
public static final String PROP_LISTENER_CLASS
public static final String DEFAULT_INSTANCE_ID
public static final String AUTO_GENERATE_INSTANCE_ID
public static final String PROP_THREAD_EXECUTOR
public static final String PROP_THREAD_EXECUTOR_CLASS
public static final String SYSTEM_PROPERTY_AS_INSTANCE_ID
public static final String MANAGEMENT_REST_SERVICE_ENABLED
public static final String MANAGEMENT_REST_SERVICE_HOST_PORT
public StdSchedulerFactory()
public StdSchedulerFactory(Properties props) throws SchedulerException
initialize(Properties)
.SchedulerException
initialize(Properties)
public StdSchedulerFactory(String fileName) throws SchedulerException
initialize(String)
.SchedulerException
initialize(String)
public org.slf4j.Logger getLog()
public void initialize() throws SchedulerException
Initialize the
with
the contents of a SchedulerFactory
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()
SchedulerException
public void initialize(String filename) throws SchedulerException
Initialize the
with
the contents of the SchedulerFactory
Properties
file with the given
name.
SchedulerException
public void initialize(InputStream propertiesStream) throws SchedulerException
Initialize the
with
the contents of the SchedulerFactory
Properties
file opened with the
given InputStream
.
SchedulerException
public void initialize(Properties props) throws SchedulerException
Initialize the
with
the contents of the given SchedulerFactory
Properties
object.
SchedulerException
protected Scheduler instantiate(QuartzSchedulerResources rsrcs, QuartzScheduler qs)
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.
getScheduler
in interface SchedulerFactory
SchedulerException
- if there is a problem with the underlying Scheduler
.public static Scheduler getDefaultScheduler() throws SchedulerException
Returns a handle to the default Scheduler, creating it if it does not yet exist.
SchedulerException
initialize()
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).
getScheduler
in interface SchedulerFactory
SchedulerException
public Collection<Scheduler> getAllSchedulers() throws SchedulerException
Returns a handle to all known Schedulers (made by any StdSchedulerFactory instance.).
getAllSchedulers
in interface SchedulerFactory
SchedulerException
Copyright 2001-2019, Terracotta, Inc.