org.infinispan.commands.read
Class MapReduceCommand

java.lang.Object
  extended by org.infinispan.commands.remote.BaseRpcCommand
      extended by org.infinispan.commands.read.MapReduceCommand
All Implemented Interfaces:
CacheRpcCommand, ReplicableCommand

public class MapReduceCommand
extends BaseRpcCommand

MapReduceCommand is used to migrate Mapper and Reducer to remote JVM where they will get invoked.

Since:
5.0
Author:
Vladimir Blagojevic

Field Summary
static int COMMAND_ID
           
protected  DistributionManager dm
           
protected  InvocationContextContainer icc
           
protected  Set<Object> keys
           
protected  Address localAddress
           
 
Fields inherited from class org.infinispan.commands.remote.BaseRpcCommand
cacheName
 
Constructor Summary
MapReduceCommand(Mapper m, Reducer r, String cacheName, Collection<Object> inputKeys)
           
MapReduceCommand(Mapper m, Reducer r, String cacheName, Object... inputKeys)
           
MapReduceCommand(String cacheName)
           
 
Method Summary
 boolean equals(Object o)
           
 byte getCommandId()
          Used by marshallers to convert this command into an id for streaming.
 Object[] getParameters()
          Used by marshallers to stream this command across a network
 int hashCode()
           
 void init(CommandsFactory factory, InterceptorChain invoker, InvocationContextContainer icc, DistributionManager dm, Address localAddress)
           
 boolean isReturnValueExpected()
          If true, a return value will be provided when performed remotely.
 Object perform(InvocationContext context)
          Performs invocation of mapping phase and local reduce phase before returning result to master node
 void setParameters(int commandId, Object[] args)
          Used by the CommandsFactory to create a command from raw data read off a stream.
 String toString()
           
 
Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
getCacheName, getOrigin, setOrigin
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

COMMAND_ID

public static final int COMMAND_ID
See Also:
Constant Field Values

keys

protected Set<Object> keys

icc

protected InvocationContextContainer icc

dm

protected DistributionManager dm

localAddress

protected Address localAddress
Constructor Detail

MapReduceCommand

public MapReduceCommand(String cacheName)

MapReduceCommand

public MapReduceCommand(Mapper m,
                        Reducer r,
                        String cacheName,
                        Object... inputKeys)

MapReduceCommand

public MapReduceCommand(Mapper m,
                        Reducer r,
                        String cacheName,
                        Collection<Object> inputKeys)
Method Detail

init

public void init(CommandsFactory factory,
                 InterceptorChain invoker,
                 InvocationContextContainer icc,
                 DistributionManager dm,
                 Address localAddress)

perform

public Object perform(InvocationContext context)
               throws Throwable
Performs invocation of mapping phase and local reduce phase before returning result to master node

Parameters:
context - invocation context
Returns:
Map of intermediate key value pairs
Throws:
Throwable - in the event of problems.

getCommandId

public byte getCommandId()
Description copied from interface: ReplicableCommand
Used by marshallers to convert this command into an id for streaming.

Returns:
the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.

getParameters

public Object[] getParameters()
Description copied from interface: ReplicableCommand
Used by marshallers to stream this command across a network

Returns:
an object array of arguments, compatible with pre-2.2.0 MethodCall args.

setParameters

public void setParameters(int commandId,
                          Object[] args)
Description copied from interface: ReplicableCommand
Used by the CommandsFactory to create a command from raw data read off a stream.

Parameters:
commandId - command id to set. This is usually unused but *could* be used in the event of a command having multiple IDs, such as PutKeyValueCommand.
args - object array of args

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class BaseRpcCommand

isReturnValueExpected

public boolean isReturnValueExpected()
Description copied from interface: ReplicableCommand
If true, a return value will be provided when performed remotely. Otherwise, a remote ResponseGenerator may choose to simply return null to save on marshalling costs.

Returns:
true or false

-->

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