org.jboss.messaging.core.distributed.util
Class RpcServerCall

java.lang.Object
  extended byMethodCall
      extended byorg.jboss.messaging.core.distributed.util.RpcServerCall

public class RpcServerCall
extends MethodCall

A distributed method call addressed to RpcDispatchers configured with RpcServers. It is a simple extension of the MethodCall that offers built-in support for server category. It also offers convenience methods to return results in a normalized format.

Version:
$Revision: 919 $
Author:
Ovidiu Feodorov
See Also:
RpcServer, Serialized Form

Field Summary
protected  java.io.Serializable serverCategory
           
 
Constructor Summary
RpcServerCall()
          Must be used by externalization only.
RpcServerCall(java.io.Serializable serverCategory, java.lang.String methodName, java.lang.Object[] args, java.lang.String[] types)
           
 
Method Summary
 java.io.Serializable getServerCategory()
           
 java.util.Collection remoteInvoke(RpcDispatcher dispatcher, long timeout)
          Synchronously invokes the RpcServerCall on all server delegates registered under the RPCServerCall's current category, across all RpcServers of the group.
 java.util.Collection remoteInvoke(RpcDispatcher dispatcher, java.util.Vector destinations, long timeout)
          Synchronously invokes the RpcServerCall on all server delegates registered under the RPCServerCall's current category, across select RpcServers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serverCategory

protected java.io.Serializable serverCategory
Constructor Detail

RpcServerCall

public RpcServerCall()
Must be used by externalization only.


RpcServerCall

public RpcServerCall(java.io.Serializable serverCategory,
                     java.lang.String methodName,
                     java.lang.Object[] args,
                     java.lang.String[] types)
Parameters:
serverCategory - - the server category. Will be used by the remote RpcServer to select a set of equivalent sub-servers.
methodName - - the remote method name.
args - - the remote method's arguments.
types - - the argument types (fully qualified class names).
Method Detail

getServerCategory

public java.io.Serializable getServerCategory()

remoteInvoke

public java.util.Collection remoteInvoke(RpcDispatcher dispatcher,
                                         long timeout)
Synchronously invokes the RpcServerCall on all server delegates registered under the RPCServerCall's current category, across all RpcServers of the group.

Parameters:
dispatcher - - the dispatcher to use to sent the call from.
timeout -
Returns:
a Collection of ServerResponses.

remoteInvoke

public java.util.Collection remoteInvoke(RpcDispatcher dispatcher,
                                         java.util.Vector destinations,
                                         long timeout)
Synchronously invokes the RpcServerCall on all server delegates registered under the RPCServerCall's current category, across select RpcServers.

Parameters:
dispatcher - - the dispatcher to use to sent the call from.
destinations - - contains the Addresses of the group members that runs the rpcServers we want to invoke on.
timeout -
Returns:
a Collection of ServerResponses.


Copyright © 2006 JBoss Inc. All Rights Reserved.