public class MessageDispatchInterceptor extends ChannelInterceptorBase implements Runnable
Channel.SEND_OPTIONS_ASYNCHRONOUS
flag to be set, if it is, it will queue the message for delivery and immediately return to the sender.ChannelInterceptor.InterceptorEvent| Modifier and Type | Field and Description |
|---|---|
protected boolean |
alwaysSend |
protected long |
currentSize |
protected long |
maxQueueSize |
protected Thread |
msgDispatchThread |
protected FastQueue |
queue |
protected boolean |
run |
protected boolean |
useDeepClone |
optionFlag| Constructor and Description |
|---|
MessageDispatchInterceptor() |
| Modifier and Type | Method and Description |
|---|---|
long |
addAndGetCurrentSize(long inc) |
boolean |
addToQueue(ChannelMessage msg,
Member[] destination,
InterceptorPayload payload) |
long |
getCurrentSize() |
long |
getMaxQueueSize() |
boolean |
getUseDeepClone() |
boolean |
isAlwaysSend() |
LinkObject |
removeFromQueue() |
void |
run() |
protected LinkObject |
sendAsyncData(LinkObject link) |
void |
sendMessage(Member[] destination,
ChannelMessage msg,
InterceptorPayload payload)
The
sendMessage method is called when a message is being sent to one more destinations. |
void |
setAlwaysSend(boolean alwaysSend) |
long |
setAndGetCurrentSize(long value) |
void |
setMaxQueueSize(long maxQueueSize) |
void |
setOptionFlag(int flag)
Sets the option flag
|
void |
setUseDeepClone(boolean useDeepClone) |
void |
start(int svc)
Starts up the channel.
|
void |
startQueue() |
void |
stop(int svc)
Shuts down the channel.
|
void |
stopQueue() |
accept, fireInterceptorEvent, getLocalMember, getMember, getMembers, getNext, getOptionFlag, getPrevious, hasMembers, heartbeat, memberAdded, memberDisappeared, messageReceived, okToProcess, setNext, setPreviousprotected long maxQueueSize
protected FastQueue queue
protected volatile boolean run
protected Thread msgDispatchThread
protected long currentSize
protected boolean useDeepClone
protected boolean alwaysSend
public void sendMessage(Member[] destination, ChannelMessage msg, InterceptorPayload payload) throws ChannelException
ChannelInterceptorsendMessage method 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
invoking getNext().sendMessage(destination,msg,payload)getNext().sendMessage(destination,msg,payload)sendMessage in interface ChannelInterceptorsendMessage in class ChannelInterceptorBasedestination - Member[] - the destination for this messagemsg - ChannelMessage - the message to be sentpayload - InterceptorPayload - the payload, carrying an error handler and future useful data, can be nullChannelExceptionErrorHandler,
InterceptorPayloadpublic boolean addToQueue(ChannelMessage msg, Member[] destination, InterceptorPayload payload)
public LinkObject removeFromQueue()
public void startQueue()
public void stopQueue()
public void setOptionFlag(int flag)
ChannelInterceptorsetOptionFlag in interface ChannelInterceptorsetOptionFlag in class ChannelInterceptorBaseflag - intChannelInterceptor.getOptionFlag()public void setMaxQueueSize(long maxQueueSize)
public void setUseDeepClone(boolean useDeepClone)
public long getMaxQueueSize()
public boolean getUseDeepClone()
public long getCurrentSize()
public long addAndGetCurrentSize(long inc)
public long setAndGetCurrentSize(long value)
public void start(int svc)
throws ChannelException
ChannelInterceptorBasestart in interface ChannelInterceptorstart in class ChannelInterceptorBasesvc - int value of ChannelException - if a startup error occurs or the service is already started.Channelpublic void stop(int svc)
throws ChannelException
ChannelInterceptorBasestop in interface ChannelInterceptorstop in class ChannelInterceptorBasesvc - int value of ChannelException - if a startup error occurs or the service is already started.Channelprotected LinkObject sendAsyncData(LinkObject link)
public boolean isAlwaysSend()
public void setAlwaysSend(boolean alwaysSend)
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.