public class SyncDeliverTasks extends Object implements DeliverTask
Note that in case of a timeout while a task is disabled the thread is released and we spin-off a new thread that resumes the disabled task hence, this is the only place were we break the semantics of the synchronous delivery. While the only one to notice this is the timed-out handler - it is the fault of this handler too (i.e., it blocked the dispatch for to long) but since it will not receive events anymore it will not notice this semantic difference except that it might not see events it already sent before. If during an event delivery a new event should be delivered from within the event handler, the timeout handler is stopped for the delivery time of the inner event!
Constructor and Description |
---|
SyncDeliverTasks(DefaultThreadPool pool,
long timeout,
String[] ignoreTimeout)
Construct a new sync deliver tasks.
|
public SyncDeliverTasks(DefaultThreadPool pool, long timeout, String[] ignoreTimeout)
pool
- The thread pool used to spin-off new threads.timeout
- The timeout for an event handler, 0 = disabledpublic void update(long timeout, String[] ignoreTimeout)
public void execute(List tasks)
execute
in interface DeliverTask
tasks
- The event handler dispatch tasks to executeDeliverTask.execute(List)
Copyright © 2006-2013 The Apache Software Foundation. All Rights Reserved.