| org.springframework.jndi.JndiLocatorSupport org.springframework.scheduling.commonj.TimerManagerFactoryBean
TimerManagerFactoryBean | public class TimerManagerFactoryBean extends JndiLocatorSupport implements FactoryBean,InitializingBean,DisposableBean,Lifecycle(Code) | | org.springframework.beans.factory.FactoryBean that retrieves a
CommonJ
commonj.timers.TimerManager and exposes it for bean references.
This is the central convenience class for setting up a
CommonJ TimerManager in a Spring context.
Allows for registration of ScheduledTimerListeners. This is the main
purpose of this class; the TimerManager itself could also be fetched
from JNDI via
org.springframework.jndi.JndiObjectFactoryBean .
In scenarios that just require static registration of tasks at startup,
there is no need to access the TimerManager itself in application code.
Note that the TimerManager uses a TimerListener instance that is
shared between repeated executions, in contrast to Quartz which
instantiates a new Job for each execution.
author: Juergen Hoeller since: 2.0 See Also: ScheduledTimerListener See Also: commonj.timers.TimerManager See Also: commonj.timers.TimerListener |
Method Summary | |
public void | afterPropertiesSet() | public void | destroy() Cancels all statically registered Timers on shutdown,
and stops the underlying TimerManager (if not shared). | public Object | getObject() | public Class | getObjectType() | public boolean | isRunning() Considers the underlying TimerManager as running if it is
neither suspending nor stopping. | public boolean | isSingleton() | public void | setScheduledTimerListeners(ScheduledTimerListener[] scheduledTimerListeners) Register a list of ScheduledTimerListener objects with the TimerManager
that this FactoryBean creates. | public void | setShared(boolean shared) Specify whether the TimerManager obtained by this FactoryBean
is a shared instance ("true") or an independent instance ("false").
The lifecycle of the former is supposed to be managed by the application
server, while the lifecycle of the latter is up to the application.
Default is "false", i.e. | public void | setTimerManager(TimerManager timerManager) Specify the CommonJ TimerManager to delegate to. | public void | setTimerManagerName(String timerManagerName) Set the JNDI name of the CommonJ TimerManager. | public void | start() Resumes the underlying TimerManager (if not shared). | public void | stop() Suspends the underlying TimerManager (if not shared). |
destroy | public void destroy()(Code) | | Cancels all statically registered Timers on shutdown,
and stops the underlying TimerManager (if not shared).
See Also: commonj.timers.Timer.cancel See Also: commonj.timers.TimerManager.stop |
isRunning | public boolean isRunning()(Code) | | Considers the underlying TimerManager as running if it is
neither suspending nor stopping.
See Also: commonj.timers.TimerManager.isSuspending See Also: commonj.timers.TimerManager.isStopping |
isSingleton | public boolean isSingleton()(Code) | | |
setScheduledTimerListeners | public void setScheduledTimerListeners(ScheduledTimerListener[] scheduledTimerListeners)(Code) | | Register a list of ScheduledTimerListener objects with the TimerManager
that this FactoryBean creates. Depending on each ScheduledTimerListener's settings,
it will be registered via one of TimerManager's schedule methods.
See Also: commonj.timers.TimerManager.schedule(commonj.timers.TimerListenerlong) See Also: commonj.timers.TimerManager.schedule(commonj.timers.TimerListenerlonglong) See Also: commonj.timers.TimerManager.scheduleAtFixedRate(commonj.timers.TimerListenerlonglong) |
setShared | public void setShared(boolean shared)(Code) | | Specify whether the TimerManager obtained by this FactoryBean
is a shared instance ("true") or an independent instance ("false").
The lifecycle of the former is supposed to be managed by the application
server, while the lifecycle of the latter is up to the application.
Default is "false", i.e. managing an independent TimerManager instance.
This is what the CommonJ specification suggests that application servers
are supposed to offer via JNDI lookups, typically declared as a
resource-ref of type commonj.timers.TimerManager
in web.xml, with res-sharing-scope set to 'Unshareable'.
Switch this flag to "true" if you are obtaining a shared TimerManager,
typically through specifying the JNDI location of a TimerManager that
has been explicitly declared as 'Shareable'. Note that WebLogic's
cluster-aware Job Scheduler is a shared TimerManager too.
The sole difference between this FactoryBean being in shared or
non-shared mode is that it will only attempt to suspend / resume / stop
the underlying TimerManager in case of an independent (non-shared) instance.
This only affects the
org.springframework.context.Lifecycle support
as well as application context shutdown.
See Also: TimerManagerFactoryBean.stop() See Also: TimerManagerFactoryBean.start() See Also: TimerManagerFactoryBean.destroy() See Also: commonj.timers.TimerManager |
setTimerManager | public void setTimerManager(TimerManager timerManager)(Code) | | Specify the CommonJ TimerManager to delegate to.
Note that the given TimerManager's lifecycle will be managed
by this FactoryBean.
Alternatively (and typically), you can specify the JNDI name
of the target TimerManager.
See Also: TimerManagerFactoryBean.setTimerManagerName |
start | public void start()(Code) | | Resumes the underlying TimerManager (if not shared).
See Also: commonj.timers.TimerManager.resume |
stop | public void stop()(Code) | | Suspends the underlying TimerManager (if not shared).
See Also: commonj.timers.TimerManager.suspend |
Fields inherited from org.springframework.jndi.JndiLocatorSupport | final public static String CONTAINER_PREFIX(Code)(Java Doc)
|
|
|