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 java.lang.Object implements ChannelListener
A channel to handle RPC messaging
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RpcChannel.RpcCollector
Class that holds all response.static class
RpcChannel.RpcCollectorKey
-
Field Summary
Fields Modifier and Type Field Description static int
ALL_REPLY
static int
FIRST_REPLY
static int
MAJORITY_REPLY
static int
NO_REPLY
protected static StringManager
sm
-
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 boolean
accept(java.io.Serializable msg, Member sender)
Invoked by the channel to determine if the listener will process this message or not.void
breakdown()
RpcCallback
getCallback()
Channel
getChannel()
int
getReplyMessageOptions()
byte[]
getRpcId()
void
messageReceived(java.io.Serializable msg, Member sender)
Receive a message from the channelResponse[]
send(Member[] destination, java.io.Serializable message, int rpcOptions, int channelOptions, long timeout)
Send a message and wait for the response.void
setCallback(RpcCallback callback)
void
setChannel(Channel channel)
void
setReplyMessageOptions(int replyMessageOptions)
void
setRpcId(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, java.io.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(java.io.Serializable msg, Member sender)
Description copied from interface:ChannelListener
Receive a message from the channel- Specified by:
messageReceived
in interfaceChannelListener
- Parameters:
msg
- Serializablesender
- - the source of the message
-
breakdown
public void breakdown()
-
accept
public boolean accept(java.io.Serializable msg, Member sender)
Description copied from interface:ChannelListener
Invoked by the channel to determine if the listener will process this message or not.- Specified by:
accept
in 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)
-
-