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 invoking
getNext().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
-
-