|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
org.quartz.impl Class DirectSchedulerFactory
java.lang.Object org.quartz.impl.DirectSchedulerFactory
- All Implemented Interfaces:
- SchedulerFactory
public class DirectSchedulerFactory
- extends Object
- implements SchedulerFactory
A singleton implementation of SchedulerFactory
.
Here are some examples of using this class:
To create a scheduler that does not write anything to the database (is not
persistent), you can call createVolatileScheduler
:
DirectSchedulerFactory.getInstance().createVolatileScheduler(10); // 10 threads * // don't forget to start the scheduler: DirectSchedulerFactory.getInstance().getScheduler().start();
Several create methods are provided for convenience. All create methods eventually end up calling the create method with all the parameters:
public void createScheduler(String schedulerName, String schedulerInstanceId, ThreadPool threadPool, JobStore jobStore, String rmiRegistryHost, int rmiRegistryPort)
Here is an example of using this method:
* *// create the thread pool SimpleThreadPool threadPool = new SimpleThreadPool(maxThreads, Thread.NORM_PRIORITY); threadPool.initialize(); * // create the job store JobStore jobStore = new RAMJobStore(); DirectSchedulerFactory.getInstance().createScheduler("My Quartz Scheduler", "My Instance", threadPool, jobStore, "localhost", 1099); * // don't forget to start the scheduler: DirectSchedulerFactory.getInstance().getScheduler("My Quartz Scheduler", "My Instance").start();
You can also use a JDBCJobStore instead of the RAMJobStore:
DBConnectionManager.getInstance().addConnectionProvider("someDatasource", new JNDIConnectionProvider("someDatasourceJNDIName")); JobStoreTX jdbcJobStore = new JobStoreTX(); jdbcJobStore.setDataSource("someDatasource"); jdbcJobStore.setPostgresStyleBlobs(true); jdbcJobStore.setTablePrefix("QRTZ_"); jdbcJobStore.setInstanceId("My Instance");
- Author:
- Mohammad Rezaei, James House
- See Also:
JobStore
,ThreadPool
Field Summary | |
---|---|
static String |
DEFAULT_INSTANCE_ID
|
static String |
DEFAULT_SCHEDULER_NAME
|
Constructor Summary | |
---|---|
protected |
DirectSchedulerFactory()
Constructor |
Method Summary | |
---|---|
void |
createRemoteScheduler(String rmiHost,
int rmiPort)
Creates a proxy to a remote scheduler. |
void |
createRemoteScheduler(String schedulerName,
String schedulerInstanceId,
String rmiHost,
int rmiPort)
Same as createRemoteScheduler(String rmiHost, int rmiPort) ,
with the addition of specifying the scheduler name and instance ID. |
void |
createRemoteScheduler(String schedulerName,
String schedulerInstanceId,
String rmiBindName,
String rmiHost,
int rmiPort)
Same as createRemoteScheduler(String rmiHost, int rmiPort) ,
with the addition of specifying the scheduler name, instance ID, and rmi
bind name. |
void |
createScheduler(String schedulerName,
String schedulerInstanceId,
org.quartz.spi.ThreadPool threadPool,
org.quartz.spi.JobStore jobStore)
Same as createScheduler(ThreadPool threadPool, JobStore jobStore) ,
with the addition of specifying the scheduler name and instance ID. |
void |
createScheduler(String schedulerName,
String schedulerInstanceId,
org.quartz.spi.ThreadPool threadPool,
org.quartz.spi.JobStore jobStore,
Map schedulerPluginMap,
String rmiRegistryHost,
int rmiRegistryPort,
long idleWaitTime,
long dbFailureRetryInterval,
boolean jmxExport,
String jmxObjectName)
Creates a scheduler using the specified thread pool, job store, and plugins, and binds it to RMI. |
void |
createScheduler(String schedulerName,
String schedulerInstanceId,
org.quartz.spi.ThreadPool threadPool,
org.quartz.spi.JobStore jobStore,
String rmiRegistryHost,
int rmiRegistryPort,
long idleWaitTime,
long dbFailureRetryInterval)
Creates a scheduler using the specified thread pool and job store and binds it to RMI. |
void |
createScheduler(org.quartz.spi.ThreadPool threadPool,
org.quartz.spi.JobStore jobStore)
Creates a scheduler using the specified thread pool and job store. |
void |
createVolatileSchduler(int maxThreads)
Deprecated. see correctly spelled method. |
void |
createVolatileScheduler(int maxThreads)
Creates an in memory job store (
RAMJobStore )
The thread priority is set to Thread.NORM_PRIORITY |
Collection |
getAllSchedulers()
Returns a handle to all known Schedulers (made by any StdSchedulerFactory instance.). |
static DirectSchedulerFactory |
getInstance()
|
protected 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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
DEFAULT_INSTANCE_ID
public static final String DEFAULT_INSTANCE_ID
- See Also:
- Constant Field Values
DEFAULT_SCHEDULER_NAME
public static final String DEFAULT_SCHEDULER_NAME
- See Also:
- Constant Field Values
Constructor Detail |
---|
DirectSchedulerFactory
protected DirectSchedulerFactory()
- Constructor
Method Detail |
---|
getLog
protected org.slf4j.Logger getLog()
getInstance
public static DirectSchedulerFactory getInstance()
createVolatileScheduler
public void createVolatileScheduler(int maxThreads) throws SchedulerException
- Creates an in memory job store (
RAMJobStore
) The thread priority is set to Thread.NORM_PRIORITY - Parameters:
maxThreads
- The number of threads in the thread pool- Throws:
SchedulerException
- if initialization failed.
createVolatileSchduler
public void createVolatileSchduler(int maxThreads) throws SchedulerException
- Deprecated. see correctly spelled method.
- Throws:
SchedulerException
- See Also:
createVolatileScheduler(int)
createRemoteScheduler
public void createRemoteScheduler(String rmiHost, int rmiPort) throws SchedulerException
- Creates a proxy to a remote scheduler. This scheduler can be retrieved
via
getScheduler()
- Parameters:
rmiHost
- The hostname for remote schedulerrmiPort
- Port for the remote scheduler. The default RMI port is 1099.- Throws:
SchedulerException
- if the remote scheduler could not be reached.
createRemoteScheduler
public void createRemoteScheduler(String schedulerName, String schedulerInstanceId, String rmiHost, int rmiPort) throws SchedulerException
- Same as
createRemoteScheduler(String rmiHost, int rmiPort)
, with the addition of specifying the scheduler name and instance ID. This scheduler can only be retrieved viagetScheduler(String)
- Parameters:
schedulerName
- The name for the scheduler.schedulerInstanceId
- The instance ID for the scheduler.rmiHost
- The hostname for remote schedulerrmiPort
- Port for the remote scheduler. The default RMI port is 1099.- Throws:
SchedulerException
- if the remote scheduler could not be reached.
createRemoteScheduler
public void createRemoteScheduler(String schedulerName, String schedulerInstanceId, String rmiBindName, String rmiHost, int rmiPort) throws SchedulerException
- Same as
createRemoteScheduler(String rmiHost, int rmiPort)
, with the addition of specifying the scheduler name, instance ID, and rmi bind name. This scheduler can only be retrieved viagetScheduler(String)
- Parameters:
schedulerName
- The name for the scheduler.schedulerInstanceId
- The instance ID for the scheduler.rmiBindName
- The name of the remote scheduler in the RMI repository. If null defaults to the generated unique identifier.rmiHost
- The hostname for remote schedulerrmiPort
- Port for the remote scheduler. The default RMI port is 1099.- Throws:
SchedulerException
- if the remote scheduler could not be reached.
createScheduler
public void createScheduler(org.quartz.spi.ThreadPool threadPool, org.quartz.spi.JobStore jobStore) throws SchedulerException
- Creates a scheduler using the specified thread pool and job store. This
scheduler can be retrieved via
getScheduler()
- Parameters:
threadPool
- The thread pool for executing jobsjobStore
- The type of job store- Throws:
SchedulerException
- if initialization failed
createScheduler
public void createScheduler(String schedulerName, String schedulerInstanceId, org.quartz.spi.ThreadPool threadPool, org.quartz.spi.JobStore jobStore) throws SchedulerException
- Same as
createScheduler(ThreadPool threadPool, JobStore jobStore)
, with the addition of specifying the scheduler name and instance ID. This scheduler can only be retrieved viagetScheduler(String)
- Parameters:
schedulerName
- The name for the scheduler.schedulerInstanceId
- The instance ID for the scheduler.threadPool
- The thread pool for executing jobsjobStore
- The type of job store- Throws:
SchedulerException
- if initialization failed
createScheduler
public void createScheduler(String schedulerName, String schedulerInstanceId, org.quartz.spi.ThreadPool threadPool, org.quartz.spi.JobStore jobStore, String rmiRegistryHost, int rmiRegistryPort, long idleWaitTime, long dbFailureRetryInterval) throws SchedulerException
- Creates a scheduler using the specified thread pool and job store and
binds it to RMI.
- Parameters:
schedulerName
- The name for the scheduler.schedulerInstanceId
- The instance ID for the scheduler.threadPool
- The thread pool for executing jobsjobStore
- The type of job storermiRegistryHost
- The hostname to register this scheduler with for RMI. Can use "null" if no RMI is required.rmiRegistryPort
- The port for RMI. Typically 1099.idleWaitTime
- The idle wait time in milliseconds. You can specify "-1" for the default value, which is currently 30000 ms.- Throws:
SchedulerException
- if initialization failed
createScheduler
public void createScheduler(String schedulerName, String schedulerInstanceId, org.quartz.spi.ThreadPool threadPool, org.quartz.spi.JobStore jobStore, Map schedulerPluginMap, String rmiRegistryHost, int rmiRegistryPort, long idleWaitTime, long dbFailureRetryInterval, boolean jmxExport, String jmxObjectName) throws SchedulerException
- Creates a scheduler using the specified thread pool, job store, and
plugins, and binds it to RMI.
- Parameters:
schedulerName
- The name for the scheduler.schedulerInstanceId
- The instance ID for the scheduler.threadPool
- The thread pool for executing jobsjobStore
- The type of job storeschedulerPluginMap
- Map from aString
plugin names toSchedulerPlugin
s. Can use "null" if no plugins are required.rmiRegistryHost
- The hostname to register this scheduler with for RMI. Can use "null" if no RMI is required.rmiRegistryPort
- The port for RMI. Typically 1099.idleWaitTime
- The idle wait time in milliseconds. You can specify "-1" for the default value, which is currently 30000 ms.- Throws:
SchedulerException
- if initialization failed
getScheduler
public Scheduler getScheduler() throws SchedulerException
Returns a handle to the Scheduler produced by this factory.
you must call createRemoteScheduler or createScheduler methods before calling getScheduler()
- Specified by:
getScheduler
in interfaceSchedulerFactory
- Throws:
SchedulerException
- if there is a problem with the underlyingScheduler
.
getScheduler
public Scheduler getScheduler(String schedName) throws SchedulerException
Returns a handle to the Scheduler with the given name, if it exists.
- Specified by:
getScheduler
in interfaceSchedulerFactory
- Throws:
SchedulerException
getAllSchedulers
public Collection getAllSchedulers() throws SchedulerException
Returns a handle to all known Schedulers (made by any StdSchedulerFactory instance.).
- Specified by:
getAllSchedulers
in interfaceSchedulerFactory
- Throws:
SchedulerException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2001-2011, Terracotta, Inc.