| java.lang.Object org.apache.catalina.tribes.group.ChannelInterceptorBase org.apache.catalina.tribes.group.interceptors.OrderInterceptor
OrderInterceptor | public class OrderInterceptor extends ChannelInterceptorBase (Code) | | The order interceptor guarantees that messages are received in the same order they were
sent.
This interceptor works best with the ack=true setting.
There is no point in
using this with the replicationMode="fastasynchqueue" as this mode guarantees ordering.
If you are using the mode ack=false replicationMode=pooled, and have a lot of concurrent threads,
this interceptor can really slow you down, as many messages will be completely out of order
and the queue might become rather large. If this is the case, then you might want to set
the value OrderInterceptor.maxQueue = 25 (meaning that we will never keep more than 25 messages in our queue)
Configuration Options
OrderInteceptor.expire= - if a message arrives out of order, how long before we act on it default=3000ms
OrderInteceptor.maxQueue= - how much can the queue grow to ensure ordering.
This setting is useful to avoid OutOfMemoryErrorsdefault=Integer.MAX_VALUE
OrderInterceptor.forwardExpired= - this flag tells the interceptor what to
do when a message has expired or the queue has grown larger than the maxQueue value.
true means that the message is sent up the stack to the receiver that will receive and out of order message
false means, forget the message and reset the message counter. default=true
author: Filip Hanik version: 1.1 |
Inner Class :protected static class Counter | |
Inner Class :protected static class MessageOrder | |
getExpire | public long getExpire()(Code) | | |
getForwardExpired | public boolean getForwardExpired()(Code) | | |
getInCounter | protected Counter getInCounter(Member mbr)(Code) | | |
getMaxQueue | public int getMaxQueue()(Code) | | |
getOutCounter | protected Counter getOutCounter(Member mbr)(Code) | | |
memberDisappeared | public void memberDisappeared(Member member)(Code) | | |
processIncoming | protected boolean processIncoming(MessageOrder order)(Code) | | Parameters: order - MessageOrder boolean - true if a message expired and was processed |
processLeftOvers | protected void processLeftOvers(Member member, boolean force)(Code) | | |
setExpire | public void setExpire(long expire)(Code) | | |
setForwardExpired | public void setForwardExpired(boolean forwardExpired)(Code) | | |
setMaxQueue | public void setMaxQueue(int maxQueue)(Code) | | |
|
|