org.jboss.seam.async
Class TimerServiceDispatcher

java.lang.Object
  extended by org.jboss.seam.async.AbstractDispatcher<javax.ejb.Timer,TimerSchedule>
      extended by org.jboss.seam.async.TimerServiceDispatcher
All Implemented Interfaces:
Dispatcher<javax.ejb.Timer,TimerSchedule>, LocalTimerServiceDispatcher

@Name(value="org.jboss.seam.async.dispatcher")
@Install(value=false,
         precedence=0)
public class TimerServiceDispatcher
extends AbstractDispatcher<javax.ejb.Timer,TimerSchedule>
implements LocalTimerServiceDispatcher

Dispatcher implementation that uses the EJB TimerService.

Author:
Gavin King

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jboss.seam.async.AbstractDispatcher
AbstractDispatcher.DispatcherParameters
 
Field Summary
 
Fields inherited from class org.jboss.seam.async.AbstractDispatcher
EXECUTING_ASYNCHRONOUS_CALL
 
Constructor Summary
TimerServiceDispatcher()
           
 
Method Summary
 Object call(Callable task)
           
 void dispatch(javax.ejb.Timer timer)
           
static LocalTimerServiceDispatcher instance()
           
 void postConstruct()
           
 javax.ejb.Timer scheduleAsynchronousEvent(String type, Object... parameters)
          Schedule an immediate asynchronous event
 javax.ejb.Timer scheduleInvocation(InvocationContext invocation, Component component)
          Schedule an asynchronous method call, examining annotations upon the method to determine the schedule
 javax.ejb.Timer scheduleTimedEvent(String type, TimerSchedule schedule, Object... parameters)
          Schedule a timed (delayed and/or periodic) event
 
Methods inherited from class org.jboss.seam.async.AbstractDispatcher
createSchedule, createTimerSchedule, extractAndValidateParameters, scheduleTransactionCompletionEvent, scheduleTransactionSuccessEvent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.seam.async.Dispatcher
scheduleTransactionCompletionEvent, scheduleTransactionSuccessEvent
 

Constructor Detail

TimerServiceDispatcher

public TimerServiceDispatcher()
Method Detail

postConstruct

@PostConstruct
public void postConstruct()

dispatch

public void dispatch(javax.ejb.Timer timer)

scheduleTimedEvent

public javax.ejb.Timer scheduleTimedEvent(String type,
                                          TimerSchedule schedule,
                                          Object... parameters)
Description copied from interface: Dispatcher
Schedule a timed (delayed and/or periodic) event

Specified by:
scheduleTimedEvent in interface Dispatcher<javax.ejb.Timer,TimerSchedule>
Parameters:
type - the event type
schedule - the schedule
parameters - parameters to pass to the event listener method
Returns:
some kind of timer object, or null

scheduleAsynchronousEvent

public javax.ejb.Timer scheduleAsynchronousEvent(String type,
                                                 Object... parameters)
Description copied from interface: Dispatcher
Schedule an immediate asynchronous event

Specified by:
scheduleAsynchronousEvent in interface Dispatcher<javax.ejb.Timer,TimerSchedule>
Parameters:
type - the event type
parameters - parameters to pass to the event listener method
Returns:
some kind of timer object, or null

scheduleInvocation

public javax.ejb.Timer scheduleInvocation(InvocationContext invocation,
                                          Component component)
Description copied from interface: Dispatcher
Schedule an asynchronous method call, examining annotations upon the method to determine the schedule

Specified by:
scheduleInvocation in interface Dispatcher<javax.ejb.Timer,TimerSchedule>
Returns:
some kind of timer object, or null

call

public Object call(Callable task)
Specified by:
call in interface LocalTimerServiceDispatcher

instance

public static LocalTimerServiceDispatcher instance()