org.springframework.integration.aggregator
Class TimeoutCountSequenceSizeReleaseStrategy
java.lang.Object
org.springframework.integration.aggregator.TimeoutCountSequenceSizeReleaseStrategy
- All Implemented Interfaces:
- ReleaseStrategy
public class TimeoutCountSequenceSizeReleaseStrategy
- extends java.lang.Object
- implements ReleaseStrategy
A ReleaseStrategy
that releases all messages if any of the following is true:
- The sequence is complete (if there is one).
- There are more messages than a threshold set by the user.
- The time elapsed since the earliest message, according to their timestamps, exceeds a timeout set by the user.
- Since:
- 2.0
- Author:
- Dave Syer
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_TIMEOUT
public static final long DEFAULT_TIMEOUT
- Default timeout is one minute.
- See Also:
- Constant Field Values
DEFAULT_THRESHOLD
public static final int DEFAULT_THRESHOLD
- Default threshold is effectively infinite.
- See Also:
- Constant Field Values
TimeoutCountSequenceSizeReleaseStrategy
public TimeoutCountSequenceSizeReleaseStrategy()
TimeoutCountSequenceSizeReleaseStrategy
public TimeoutCountSequenceSizeReleaseStrategy(int threshold,
long timeout)
- Parameters:
threshold
- the number of messages to accept before releasingtimeout
- the timeout for the release in milliseconds
canRelease
public boolean canRelease(MessageGroup messages)
- Specified by:
canRelease
in interface ReleaseStrategy