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
FieldsFields inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase
optionFlag -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintdoubledoubledoublegetMbRx()doublegetMbTx()longdoublelongvoidthemessageReceivedis 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, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.catalina.tribes.group.interceptors.ThroughputInterceptorMBean
getOptionFlag
-
Field Details
-
sm
-
-
Constructor Details
-
ThroughputInterceptor
public ThroughputInterceptor()
-
-
Method Details
-
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:
-
messageReceived
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
- Specified by:
getMsgRxCntin interfaceThroughputInterceptorMBean
-
getMsgTxCnt
- Specified by:
getMsgTxCntin interfaceThroughputInterceptorMBean
-
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
-