|
Apache Tomcat 7.0.28 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ChannelInterceptor
A ChannelInterceptor is an interceptor that intercepts
messages and membership messages in the channel stack.
This allows interceptors to modify the message or perform
other actions when a message is sent or received.
Interceptors are tied together in a linked list.
ChannelInterceptorBase
Nested Class Summary | |
---|---|
static interface |
ChannelInterceptor.InterceptorEvent
|
Method Summary | |
---|---|
void |
fireInterceptorEvent(ChannelInterceptor.InterceptorEvent event)
|
Member |
getLocalMember(boolean incAliveTime)
Intercepts the code>Channel.getLocalMember(boolean) method |
Member |
getMember(Member mbr)
Intercepts the code>Channel.getMember(Member) method |
Member[] |
getMembers()
Intercepts the code>Channel.getMembers() method |
ChannelInterceptor |
getNext()
Retrieve the next interceptor in the list |
int |
getOptionFlag()
An interceptor can react to a message based on a set bit on the message options. |
ChannelInterceptor |
getPrevious()
Retrieve the previous interceptor in the list |
boolean |
hasMembers()
Intercepts the Channel.hasMembers() method |
void |
heartbeat()
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. |
void |
messageReceived(ChannelMessage data)
the messageReceived is invoked when a message is received. |
void |
sendMessage(Member[] destination,
ChannelMessage msg,
InterceptorPayload payload)
The sendMessage method is called when a message is being sent to one more destinations. |
void |
setNext(ChannelInterceptor next)
Set the next interceptor in the list of interceptors |
void |
setOptionFlag(int flag)
Sets the option flag |
void |
setPrevious(ChannelInterceptor previous)
Set the previous interceptor in the list |
void |
start(int svc)
Starts up the channel. |
void |
stop(int svc)
Shuts down the channel. |
Methods inherited from interface org.apache.catalina.tribes.MembershipListener |
---|
memberAdded, memberDisappeared |
Method Detail |
---|
int getOptionFlag()
boolean react = (getOptionFlag() == (getOptionFlag() & ChannelMessage.getOptions()));
ChannelMessage.getOptions()
void setOptionFlag(int flag)
flag
- intgetOptionFlag()
void setNext(ChannelInterceptor next)
next
- ChannelInterceptorChannelInterceptor getNext()
void setPrevious(ChannelInterceptor previous)
previous
- ChannelInterceptorChannelInterceptor getPrevious()
void sendMessage(Member[] destination, ChannelMessage msg, InterceptorPayload payload) throws ChannelException
sendMessage
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)
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
ChannelException
ErrorHandler
,
InterceptorPayload
void messageReceived(ChannelMessage data)
messageReceived
is invoked when a message is received.
ChannelMessage.getAddress()
is the sender, or the reply-to address
if it has been overwritten.
data
- ChannelMessagevoid heartbeat()
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.
heartbeat
in interface Heartbeat
boolean hasMembers()
Channel.hasMembers()
method
Channel.hasMembers()
Member[] getMembers()
Channel.getMembers()
Member getLocalMember(boolean incAliveTime)
incAliveTime
- boolean
Channel.getLocalMember(boolean)
Member getMember(Member mbr)
mbr
- Member
Channel.getMember(Member)
void start(int svc) throws ChannelException
svc
- int value of ChannelException
- if a startup error occurs or the service is already started.Channel
void stop(int svc) throws ChannelException
svc
- int value of ChannelException
- if a startup error occurs or the service is already started.Channel
void fireInterceptorEvent(ChannelInterceptor.InterceptorEvent event)
|
Apache Tomcat 7.0.28 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |