org.apache.catalina.tribes.group.interceptors
Class FragmentationInterceptor
java.lang.Object
   org.apache.catalina.tribes.group.ChannelInterceptorBase
org.apache.catalina.tribes.group.ChannelInterceptorBase
       org.apache.catalina.tribes.group.interceptors.FragmentationInterceptor
org.apache.catalina.tribes.group.interceptors.FragmentationInterceptor
- All Implemented Interfaces: 
- ChannelInterceptor, Heartbeat, MembershipListener
- public class FragmentationInterceptor 
- extends ChannelInterceptorBase
The fragmentation interceptor splits up large messages into smaller messages and assembles them on the other end.
 This is very useful when you don't want large messages hogging the sending sockets
 and smaller messages can make it through.
 
 
Configuration Options
 OrderInteceptor.expire= - how long do we keep the fragments in memory and wait for the rest to arrivedefault=60,000ms -> 60seconds
 This setting is useful to avoid OutOfMemoryErrors
 OrderInteceptor.maxSize= - message size in bytes default=1024*100 (around a tenth of a MB)
- Version:
- 1.0
- Author:
- Filip Hanik
 
 
 
 
 
 
| Methods inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase | 
| accept, fireInterceptorEvent, getLocalMember, getMember, getMembers, getNext, getOptionFlag, getPrevious, hasMembers, memberAdded, memberDisappeared, okToProcess, setNext, setOptionFlag, setPrevious, start, stop | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
fragpieces
protected HashMap<FragmentationInterceptor.FragKey,FragmentationInterceptor.FragCollection> fragpieces
deepclone
protected boolean deepclone
FragmentationInterceptor
public FragmentationInterceptor()
sendMessage
public void sendMessage(Member[] destination,
                        ChannelMessage msg,
                        InterceptorPayload payload)
                 throws ChannelException
- Description copied from interface: ChannelInterceptor
- The sendMessagemethod is called when a message is being sent to one more destinations.
 The interceptor can modify any of the parameters and then pass on the message down the stack by
 invokinggetNext().sendMessage(destination,msg,payload)
 Alternatively the interceptor can stop the message from being sent by not invokinggetNext().sendMessage(destination,msg,payload)
 If the message is to be sent asynchronous the application can be notified of completion and 
 errors by passing in an error handler attached to a payload object.
 The ChannelMessage.getAddress contains Channel.getLocalMember, and can be overwritten 
 to simulate a message sent from another node.
 
 
- 
- Specified by:
- sendMessagein interface- ChannelInterceptor
- Overrides:
- sendMessagein class- ChannelInterceptorBase
 
- 
- Parameters:
- destination- Member[] - the destination for this message
- msg- ChannelMessage - the message to be sent
- payload- InterceptorPayload - the payload, carrying an error handler and future useful data, can be null
- Throws:
- ChannelException
- See Also:
- ErrorHandler,- InterceptorPayload
 
messageReceived
public void messageReceived(ChannelMessage msg)
- Description copied from interface: ChannelInterceptor
- the messageReceivedis invoked when a message is received.ChannelMessage.getAddress()is the sender, or the reply-to address
 if it has been overwritten.
 
- 
- Specified by:
- messageReceivedin interface- ChannelInterceptor
- Overrides:
- messageReceivedin class- ChannelInterceptorBase
 
- 
- Parameters:
- msg- ChannelMessage
 
getFragCollection
public FragmentationInterceptor.FragCollection getFragCollection(FragmentationInterceptor.FragKey key,
                                                                 ChannelMessage msg)
- 
 
removeFragCollection
public void removeFragCollection(FragmentationInterceptor.FragKey key)
- 
 
defrag
public void defrag(ChannelMessage msg)
- 
 
frag
public void frag(Member[] destination,
                 ChannelMessage msg,
                 InterceptorPayload payload)
          throws ChannelException
- 
- Throws:
- ChannelException
 
heartbeat
public void heartbeat()
- Description copied from interface: ChannelInterceptor
- The heartbeat()method gets invoked periodically
 to allow interceptors to clean up resources, time out object and 
 perform actions that are unrelated to sending/receiving data.
 
- 
- Specified by:
- heartbeatin interface- ChannelInterceptor
- Specified by:
- heartbeatin interface- Heartbeat
- Overrides:
- heartbeatin class- ChannelInterceptorBase
 
- 
 
getMaxSize
public int getMaxSize()
- 
 
getExpire
public long getExpire()
- 
 
setMaxSize
public void setMaxSize(int maxSize)
- 
 
setExpire
public void setExpire(long expire)
- 
 
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.