|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.quartz.impl.DirectSchedulerFactory
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(); jobStore.initialize(); 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")); JDBCJobStore jdbcJobStore = new JDBCJobStore(); jdbcJobStore.setDataSource("someDatasource"); jdbcJobStore.setPostgresStyleBlobs(true); jdbcJobStore.setTablePrefix("QRTZ_"); jdbcJobStore.setInstanceId("My Instance"); jdbcJobStore.initialize();
JobStore
,
ThreadPool
Field Summary | |
static java.lang.String |
DEFAULT_INSTANCE_ID
|
static java.lang.String |
DEFAULT_SCHEDULER_NAME
|
Constructor Summary | |
protected |
DirectSchedulerFactory()
Constructor |
Method Summary | |
void |
createRemoteScheduler(java.lang.String rmiHost,
int rmiPort)
Creates a proxy to a remote scheduler. |
protected void |
createRemoteScheduler(java.lang.String schedulerName,
java.lang.String schedulerInstanceId,
java.lang.String rmiHost,
int rmiPort)
Same as createRemoteScheduler(String rmiHost, int rmiPort) ,
with the addition of specifying the scheduler name and instance ID. |
void |
createScheduler(java.lang.String schedulerName,
java.lang.String schedulerInstanceId,
ThreadPool threadPool,
JobStore jobStore)
Same as createScheduler(ThreadPool threadPool, JobStore jobStore) ,
with the addition of specifying the scheduler name and instance ID. |
void |
createScheduler(java.lang.String schedulerName,
java.lang.String schedulerInstanceId,
ThreadPool threadPool,
JobStore jobStore,
java.lang.String rmiRegistryHost,
int rmiRegistryPort,
int idleWaitTime)
Creates a scheduler using the specified thread pool and job store and binds it to RMI. |
void |
createScheduler(ThreadPool threadPool,
JobStore jobStore)
Creates a scheduler using the specified thread pool and job store. |
void |
createVolatileSchduler(int maxThreads)
Creates an in memory job store ( ) The
thread priority is set to Thread.NORM_PRIORITY |
Scheduler[] |
getAllSchedulers()
Returns a handle to all known Schedulers (made by any StdSchedulerFactory instance.). |
static DirectSchedulerFactory |
getInstance()
|
Scheduler |
getScheduler()
Returns a handle to the Scheduler produced by this factory. |
Scheduler |
getScheduler(java.lang.String schedName,
java.lang.String schedInstId)
Returns a handle to the Scheduler with the given name and instance Id, if it exists. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String DEFAULT_INSTANCE_ID
public static final java.lang.String DEFAULT_SCHEDULER_NAME
Constructor Detail |
protected DirectSchedulerFactory()
Method Detail |
public static DirectSchedulerFactory getInstance()
public void createVolatileSchduler(int maxThreads) throws SchedulerException
RAMJobStore
) The
thread priority is set to Thread.NORM_PRIORITY
maxThreads
- The number of threads in the thread pool
SchedulerException
- if initialization failed.public void createRemoteScheduler(java.lang.String rmiHost, int rmiPort) throws SchedulerException
getScheduler()
rmiHost
- The hostname for remote schedulerrmiPort
- Port for the remote scheduler. The default RMI port is 1099.
SchedulerException
- if the remote scheduler could not be reached.protected void createRemoteScheduler(java.lang.String schedulerName, java.lang.String schedulerInstanceId, java.lang.String rmiHost, int rmiPort) throws SchedulerException
createRemoteScheduler(String rmiHost, int rmiPort)
,
with the addition of specifying the scheduler name and instance ID. This scheduler can only
be retrieved via getScheduler(java.lang.String schedulerName, java.lang.String schedulerInstanceId)
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.
SchedulerException
- if the remote scheduler could not be reached.public void createScheduler(ThreadPool threadPool, JobStore jobStore) throws SchedulerException
getScheduler()
threadPool
- The thread pool for executing jobsjobStore
- The type of job store
SchedulerException
- if initialization failedpublic void createScheduler(java.lang.String schedulerName, java.lang.String schedulerInstanceId, ThreadPool threadPool, JobStore jobStore) throws SchedulerException
createScheduler(ThreadPool threadPool, JobStore jobStore)
,
with the addition of specifying the scheduler name and instance ID. This scheduler can only
be retrieved via getScheduler(java.lang.String schedulerName, java.lang.String schedulerInstanceId)
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
SchedulerException
- if initialization failedpublic void createScheduler(java.lang.String schedulerName, java.lang.String schedulerInstanceId, ThreadPool threadPool, JobStore jobStore, java.lang.String rmiRegistryHost, int rmiRegistryPort, int idleWaitTime) throws SchedulerException
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.
SchedulerException
- if initialization failedpublic Scheduler getScheduler() throws SchedulerException
Returns a handle to the Scheduler produced by this factory.
you must call createRemoteScheduler or createScheduler methods before calling getScheduler()
getScheduler
in interface SchedulerFactory
SchedulerException
- if there is a problem with the underlying
Scheduler
.public Scheduler getScheduler(java.lang.String schedName, java.lang.String schedInstId) throws SchedulerException
Returns a handle to the Scheduler with the given name and instance Id, if it exists.
SchedulerException
public Scheduler[] getAllSchedulers() throws SchedulerException
Returns a handle to all known Schedulers (made by any StdSchedulerFactory instance.).
SchedulerException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |