Package com.emarsys.ecommon.time.schedule

Provides common classes to implement scheduling schemes.

See:
          Description

Interface Summary
QueueScheduler<T> A QueueScheduler manages the time of the processing of SchedulableQueueElements in a queue using a QueueSchedulingStrategy to calculate the date when a queue element should be processed.
QueueSchedulingContext<T> A QueueSchedulingContext - nome est omen - provides a way to store and retrieve arbitrary parameters in the context of a specifc queue scheduling process.
QueueSchedulingStrategy<T> A QueueSchedulingStrategy encapsulates a concrete policy on when to process a SchedulableQueueElement.
SchedulableQueueElement<T> A SchedulableQueueElement represents an object that will be processed in an arbitrary time based queueing mechanism.
 

Class Summary
ChainElement<T> A ChainElement is a part of a QueueSchedulingStrategyChain and represents some kind of an execution context.
ChainFactory<T> A factory for QueueSchedulingStrategyChains.
ConstantQueueSchedulingStrategy<T> ConstantQueueSchedulingStrategy will compute the next schedule date by adding its intervalMillis to the current time which will be retrieved by QueueScheduler.now().
DelayedLinearQueueSchedulingStrategy<T> The DelayedLinearQueueSchedulingStrategy represents a two phase scheduling algorithm that reschedules queue elements in their first phase in constant intervals and scales them linearly with number of processings in their second.
FixedQueueSchedulingStrategy<T> The FixedQueueSchedulingStrategy will "calculate" the next processing date by just setting its fixed FixedQueueSchedulingStrategy.scheduleDate.
LinearQueueSchedulingStrategy<T> LinearQueueSchedulingStrategy will compute the next processing date by linearly scaling its LinearQueueSchedulingStrategy.intervalMillis with the number of already happend reschedulings thus resulting in a linear increase of the intervals.
QueueSchedulingContextImpl<T>  
QueueSchedulings Varios utility functions in the context of queue schedulings.
QueueSchedulingStrategyChain<T> A QueueSchedulingStrategyChain implements a chain of responsibility for queue scheduling strategies whilest being a composited strategy itself and can be used to create arbitrary, dynamic combinations of existing scheduling algorithms.
SchedulableQueueElementProxy<T> A proxy for SchedulableQueueElements that allows for some manipulations.
 

Package com.emarsys.ecommon.time.schedule Description

Provides common classes to implement scheduling schemes. NOTE: this is highly experimental stuff!



Copyright © 2010 emarsys AG. All Rights Reserved.