public abstract class

TimerManagerAccessor

extends JndiLocatorSupport
implements DisposableBean InitializingBean Lifecycle
java.lang.Object
   ↳ org.springframework.jndi.JndiAccessor
     ↳ org.springframework.jndi.JndiLocatorSupport
       ↳ org.springframework.scheduling.commonj.TimerManagerAccessor
Known Direct Subclasses

Class Overview

Base class for classes that are accessing a CommonJ commonj.timers.TimerManager Defines common configuration settings and common lifecycle handling.

See Also
  • commonj.timers.TimerManager

Summary

[Expand]
Inherited Constants
From class org.springframework.jndi.JndiLocatorSupport
[Expand]
Inherited Fields
From class org.springframework.jndi.JndiAccessor
Public Constructors
TimerManagerAccessor()
Public Methods
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).
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).
Protected Methods
final TimerManager getTimerManager()
[Expand]
Inherited Methods
From class org.springframework.jndi.JndiLocatorSupport
From class org.springframework.jndi.JndiAccessor
From class java.lang.Object
From interface org.springframework.beans.factory.DisposableBean
From interface org.springframework.beans.factory.InitializingBean
From interface org.springframework.context.Lifecycle

Public Constructors

public TimerManagerAccessor ()

Public Methods

public void afterPropertiesSet ()

Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

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.

public void destroy ()

Stops the underlying TimerManager (if not shared).

See Also
  • commonj.timers.TimerManager#stop()

public boolean isRunning ()

Considers the underlying TimerManager as running if it is neither suspending nor stopping.

Returns
  • whether the component is currently running
See Also
  • commonj.timers.TimerManager#isSuspending()
  • commonj.timers.TimerManager#isStopping()

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. 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.

See Also

public void setTimerManager (TimerManager timerManager)

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.

public void setTimerManagerName (String timerManagerName)

Set the JNDI name of the CommonJ TimerManager.

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 start ()

Resumes the underlying TimerManager (if not shared).

See Also
  • commonj.timers.TimerManager#resume()

public void stop ()

Suspends the underlying TimerManager (if not shared).

See Also
  • commonj.timers.TimerManager#suspend()

Protected Methods

protected final TimerManager getTimerManager ()