public abstract class TimerManagerAccessor extends JndiLocatorSupport implements InitializingBean, DisposableBean, Lifecycle
TimerManager
Defines common configuration settings and common lifecycle handling.TimerManager
CONTAINER_PREFIX
logger
Constructor and Description |
---|
TimerManagerAccessor() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
Invoked by a BeanFactory after it has set all bean properties supplied
(and satisfied BeanFactoryAware and ApplicationContextAware).
|
void |
destroy()
Stops the underlying TimerManager (if not shared).
|
protected TimerManager |
getTimerManager() |
boolean |
isRunning()
Considers the underlying TimerManager as running if it is
neither suspending nor stopping.
|
void |
setShared(boolean shared)
Specify whether the TimerManager obtained by this FactoryBean
is a shared instance ("true") or an independent instance ("false").
|
void |
setTimerManager(TimerManager timerManager)
Specify the CommonJ TimerManager to delegate to.
|
void |
setTimerManagerName(String timerManagerName)
Set the JNDI name of the CommonJ TimerManager.
|
void |
start()
Resumes the underlying TimerManager (if not shared).
|
void |
stop()
Suspends the underlying TimerManager (if not shared).
|
convertJndiName, isResourceRef, lookup, lookup, setResourceRef
getJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplate
public void setTimerManager(TimerManager timerManager)
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.
setTimerManagerName(java.lang.String)
public void setTimerManagerName(String timerManagerName)
This can either be a fully qualified JNDI name, or the JNDI name relative to the current environment naming context if "resourceRef" is set to "true".
public void setShared(boolean shared)
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 Lifecycle
support
as well as application context shutdown.
stop()
,
start()
,
destroy()
,
TimerManager
public void afterPropertiesSet() throws NamingException
InitializingBean
This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.
afterPropertiesSet
in interface InitializingBean
NamingException
protected final TimerManager getTimerManager()
public void start()
start
in interface Lifecycle
TimerManager.resume()
public void stop()
stop
in interface Lifecycle
TimerManager.suspend()
public boolean isRunning()
isRunning
in interface Lifecycle
TimerManager.isSuspending()
,
TimerManager.isStopping()
public void destroy()
destroy
in interface DisposableBean
TimerManager.stop()