Class ThroughputInterceptor
- java.lang.Object
-
- org.apache.catalina.tribes.group.ChannelInterceptorBase
-
- org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor
-
- All Implemented Interfaces:
ChannelInterceptor,ThroughputInterceptorMBean,Heartbeat,MembershipListener
public class ThroughputInterceptor extends ChannelInterceptorBase implements ThroughputInterceptorMBean
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.catalina.tribes.ChannelInterceptor
ChannelInterceptor.InterceptorEvent
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringManagersm-
Fields inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase
optionFlag
-
-
Constructor Summary
Constructors Constructor Description ThroughputInterceptor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetInterval()doublegetLastCnt()doublegetMbAppTx()doublegetMbRx()doublegetMbTx()java.util.concurrent.atomic.AtomicLonggetMsgRxCnt()java.util.concurrent.atomic.AtomicLonggetMsgTxCnt()java.util.concurrent.atomic.AtomicLonggetMsgTxErr()longgetRxStart()doublegetTimeTx()longgetTxStart()voidmessageReceived(ChannelMessage msg)themessageReceivedis invoked when a message is received.voidreport(double timeTx)voidsendMessage(Member[] destination, ChannelMessage msg, InterceptorPayload payload)ThesendMessagemethod is called when a message is being sent to one more destinations.voidsetInterval(int interval)-
Methods inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase
fireInterceptorEvent, getChannel, getLocalMember, getMember, getMembers, getNext, getOptionFlag, getPrevious, hasMembers, heartbeat, memberAdded, memberDisappeared, okToProcess, setChannel, setNext, setOptionFlag, setPrevious, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.catalina.tribes.group.interceptors.ThroughputInterceptorMBean
getOptionFlag
-
-
-
-
Field Detail
-
sm
protected static final StringManager sm
-
-
Method Detail
-
sendMessage
public void sendMessage(Member[] destination, ChannelMessage msg, InterceptorPayload payload) throws ChannelException
Description copied from interface:ChannelInterceptorThesendMessagemethod 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 interfaceChannelInterceptor- Overrides:
sendMessagein classChannelInterceptorBase- Parameters:
destination- 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 null- Throws:
ChannelException- if a serialization error happens.- See Also:
ErrorHandler,InterceptorPayload
-
messageReceived
public void messageReceived(ChannelMessage msg)
Description copied from interface:ChannelInterceptorthemessageReceivedis invoked when a message is received.ChannelMessage.getAddress()is the sender, or the reply-to address if it has been overwritten.- Specified by:
messageReceivedin interfaceChannelInterceptor- Overrides:
messageReceivedin classChannelInterceptorBase- Parameters:
msg- ChannelMessage
-
report
public void report(double timeTx)
- Specified by:
reportin interfaceThroughputInterceptorMBean
-
setInterval
public void setInterval(int interval)
- Specified by:
setIntervalin interfaceThroughputInterceptorMBean
-
getInterval
public int getInterval()
- Specified by:
getIntervalin interfaceThroughputInterceptorMBean
-
getLastCnt
public double getLastCnt()
- Specified by:
getLastCntin interfaceThroughputInterceptorMBean
-
getMbAppTx
public double getMbAppTx()
- Specified by:
getMbAppTxin interfaceThroughputInterceptorMBean
-
getMbRx
public double getMbRx()
- Specified by:
getMbRxin interfaceThroughputInterceptorMBean
-
getMbTx
public double getMbTx()
- Specified by:
getMbTxin interfaceThroughputInterceptorMBean
-
getMsgRxCnt
public java.util.concurrent.atomic.AtomicLong getMsgRxCnt()
- Specified by:
getMsgRxCntin interfaceThroughputInterceptorMBean
-
getMsgTxCnt
public java.util.concurrent.atomic.AtomicLong getMsgTxCnt()
- Specified by:
getMsgTxCntin interfaceThroughputInterceptorMBean
-
getMsgTxErr
public java.util.concurrent.atomic.AtomicLong getMsgTxErr()
- Specified by:
getMsgTxErrin interfaceThroughputInterceptorMBean
-
getRxStart
public long getRxStart()
- Specified by:
getRxStartin interfaceThroughputInterceptorMBean
-
getTimeTx
public double getTimeTx()
- Specified by:
getTimeTxin interfaceThroughputInterceptorMBean
-
getTxStart
public long getTxStart()
- Specified by:
getTxStartin interfaceThroughputInterceptorMBean
-
-