org.infinispan.remoting.transport.jgroups
Class CommandAwareRpcDispatcher

java.lang.Object
  extended by org.jgroups.blocks.MessageDispatcher
      extended by org.jgroups.blocks.RpcDispatcher
          extended by org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher
All Implemented Interfaces:
org.jgroups.blocks.RequestHandler, org.jgroups.ChannelListener

public class CommandAwareRpcDispatcher
extends org.jgroups.blocks.RpcDispatcher

A JGroups RPC dispatcher that knows how to deal with ReplicableCommands.

Since:
4.0
Author:
Manik Surtani (manik@jboss.org)

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jgroups.blocks.RpcDispatcher
org.jgroups.blocks.RpcDispatcher.Marshaller, org.jgroups.blocks.RpcDispatcher.Marshaller2, org.jgroups.blocks.RpcDispatcher.MarshallerAdapter
 
Field Summary
protected  boolean trace
           
 
Fields inherited from class org.jgroups.blocks.RpcDispatcher
additionalChannelListeners, method_lookup, req_marshaller, rsp_marshaller, server_obj
 
Fields inherited from class org.jgroups.blocks.MessageDispatcher
adapter, channel, corr, handler, hardware_multicast_supported, id, local_addr, members, membership_listener, msg_listener, prot_adapter, req_handler, transport_adapter
 
Constructor Summary
CommandAwareRpcDispatcher()
           
CommandAwareRpcDispatcher(org.jgroups.Channel channel, JGroupsTransport transport, ExecutorService asyncExecutor, InboundInvocationHandler inboundInvocationHandler, JGroupsDistSync distributedSync, long distributedSyncTimeout)
           
 
Method Summary
protected  Response executeCommand(CacheRpcCommand cmd, org.jgroups.Message req)
           
 Object handle(org.jgroups.Message req)
          Message contains a Command.
 org.jgroups.util.RspList invokeRemoteCommands(Vector<org.jgroups.Address> dests, ReplicableCommand command, int mode, long timeout, boolean anycasting, boolean oob, org.jgroups.blocks.RspFilter filter, boolean supportReplay, boolean asyncMarshalling, boolean broadcast)
           
protected  boolean isValid(org.jgroups.Message req)
           
 String toString()
           
 
Methods inherited from class org.jgroups.blocks.RpcDispatcher
addChannelListener, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethod, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethods, callRemoteMethodsWithFuture, callRemoteMethodsWithFuture, callRemoteMethodsWithFuture, callRemoteMethodWithFuture, callRemoteMethodWithFuture, callRemoteMethodWithFuture, channelClosed, channelConnected, channelDisconnected, channelReconnected, channelShunned, correlatorStarted, getMarshaller, getMethodLookup, getName, getRequestMarshaller, getResponseMarshaller, getServerObject, removeChannelListener, setMarshaller, setMethodLookup, setRequestMarshaller, setResponseMarshaller, setServerObject
 
Methods inherited from class org.jgroups.blocks.MessageDispatcher
cast, castMessage, castMessage, castMessage, castMessage, castMessageWithFuture, castMessageWithFuture, done, getChannel, getConcurrentProcessing, getDeadlockDetection, getMembers, getMessageListener, send, sendMessage, sendMessage, sendMessageWithFuture, sendMessageWithFuture, setChannel, setConcurrentProcessing, setDeadlockDetection, setMembershipListener, setMessageListener, setRequestHandler, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

trace

protected boolean trace
Constructor Detail

CommandAwareRpcDispatcher

public CommandAwareRpcDispatcher()

CommandAwareRpcDispatcher

public CommandAwareRpcDispatcher(org.jgroups.Channel channel,
                                 JGroupsTransport transport,
                                 ExecutorService asyncExecutor,
                                 InboundInvocationHandler inboundInvocationHandler,
                                 JGroupsDistSync distributedSync,
                                 long distributedSyncTimeout)
Method Detail

isValid

protected final boolean isValid(org.jgroups.Message req)

invokeRemoteCommands

public org.jgroups.util.RspList invokeRemoteCommands(Vector<org.jgroups.Address> dests,
                                                     ReplicableCommand command,
                                                     int mode,
                                                     long timeout,
                                                     boolean anycasting,
                                                     boolean oob,
                                                     org.jgroups.blocks.RspFilter filter,
                                                     boolean supportReplay,
                                                     boolean asyncMarshalling,
                                                     boolean broadcast)
                                              throws NotSerializableException,
                                                     ExecutionException,
                                                     InterruptedException
Throws:
NotSerializableException
ExecutionException
InterruptedException

handle

public Object handle(org.jgroups.Message req)
Message contains a Command. Execute it against *this* object and return result.

Specified by:
handle in interface org.jgroups.blocks.RequestHandler
Overrides:
handle in class org.jgroups.blocks.RpcDispatcher

executeCommand

protected Response executeCommand(CacheRpcCommand cmd,
                                  org.jgroups.Message req)
                           throws Throwable
Throws:
Throwable

toString

public String toString()
Overrides:
toString in class Object

Google Analytics

Copyright © 2010 JBoss, a division of Red Hat. All Rights Reserved.