Package org.apache.catalina.tribes.group
Class RpcChannel
- java.lang.Object
-
- org.apache.catalina.tribes.group.RpcChannel
-
- All Implemented Interfaces:
ChannelListener
public class RpcChannel extends Object implements ChannelListener
A channel to handle RPC messaging
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRpcChannel.RpcCollectorClass that holds all response.static classRpcChannel.RpcCollectorKey
-
Field Summary
Fields Modifier and Type Field Description static intALL_REPLYstatic intFIRST_REPLYstatic intMAJORITY_REPLYstatic intNO_REPLYprotected static StringManagersm
-
Constructor Summary
Constructors Constructor Description RpcChannel(byte[] rpcId, Channel channel, RpcCallback callback)Create an RPC channel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaccept(Serializable msg, Member sender)Invoked by the channel to determine if the listener will process this message or not.voidbreakdown()RpcCallbackgetCallback()ChannelgetChannel()intgetReplyMessageOptions()byte[]getRpcId()voidmessageReceived(Serializable msg, Member sender)Receive a message from the channelResponse[]send(Member[] destination, Serializable message, int rpcOptions, int channelOptions, long timeout)Send a message and wait for the response.voidsetCallback(RpcCallback callback)voidsetChannel(Channel channel)voidsetReplyMessageOptions(int replyMessageOptions)voidsetRpcId(byte[] rpcId)-
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.ChannelListener
equals, hashCode
-
-
-
-
Field Detail
-
sm
protected static final StringManager sm
-
FIRST_REPLY
public static final int FIRST_REPLY
- See Also:
- Constant Field Values
-
MAJORITY_REPLY
public static final int MAJORITY_REPLY
- See Also:
- Constant Field Values
-
ALL_REPLY
public static final int ALL_REPLY
- See Also:
- Constant Field Values
-
NO_REPLY
public static final int NO_REPLY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RpcChannel
public RpcChannel(byte[] rpcId, Channel channel, RpcCallback callback)Create an RPC channel. You can have several RPC channels attached to a group all separated out by the uniqueness- Parameters:
rpcId- - the unique Id for this RPC groupchannel- Channelcallback- RpcCallback
-
-
Method Detail
-
send
public Response[] send(Member[] destination, Serializable message, int rpcOptions, int channelOptions, long timeout) throws ChannelException
Send a message and wait for the response.- Parameters:
destination- Member[] - the destination for the message, and the members you request a reply frommessage- Serializable - the message you are sending outrpcOptions- int - FIRST_REPLY, MAJORITY_REPLY or ALL_REPLYchannelOptions- channel sender optionstimeout- long - timeout in milliseconds, if no reply is received within this time null is returned- Returns:
- Response[] - an array of response objects.
- Throws:
ChannelException- Error sending message
-
messageReceived
public void messageReceived(Serializable msg, Member sender)
Description copied from interface:ChannelListenerReceive a message from the channel- Specified by:
messageReceivedin interfaceChannelListener- Parameters:
msg- Serializablesender- - the source of the message
-
breakdown
public void breakdown()
-
accept
public boolean accept(Serializable msg, Member sender)
Description copied from interface:ChannelListenerInvoked by the channel to determine if the listener will process this message or not.- Specified by:
acceptin interfaceChannelListener- Parameters:
msg- Serializablesender- Member- Returns:
- boolean
-
getChannel
public Channel getChannel()
-
getCallback
public RpcCallback getCallback()
-
getRpcId
public byte[] getRpcId()
-
setChannel
public void setChannel(Channel channel)
-
setCallback
public void setCallback(RpcCallback callback)
-
setRpcId
public void setRpcId(byte[] rpcId)
-
getReplyMessageOptions
public int getReplyMessageOptions()
-
setReplyMessageOptions
public void setReplyMessageOptions(int replyMessageOptions)
-
-