|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
org.quartz.impl Class DirectSchedulerFactory
java.lang.Objectorg.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 via
getScheduler(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 via
getScheduler(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 via
getScheduler(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 a String
plugin names to
SchedulerPlugin
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 interface SchedulerFactory
- Throws:
SchedulerException
- if there is a problem with the underlying Scheduler
.
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 interface SchedulerFactory
- Throws:
SchedulerException
getAllSchedulers
public Collection getAllSchedulers()
throws SchedulerException
Returns a handle to all known Schedulers (made by any
StdSchedulerFactory instance.).
- Specified by:
getAllSchedulers
in interface SchedulerFactory
- Throws:
SchedulerException
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD
Copyright 2001-2011, Terracotta, Inc.