Class SingleRpcCommand

java.lang.Object
org.infinispan.commands.remote.BaseRpcCommand
org.infinispan.commands.remote.SingleRpcCommand
All Implemented Interfaces:
CacheRpcCommand, ReplicableCommand

public class SingleRpcCommand extends BaseRpcCommand
Aggregates a single command for replication.
Author:
[email protected]
  • Field Details

  • Constructor Details

  • Method Details

    • 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.
    • writeTo

      public void writeTo(ObjectOutput output) throws IOException
      Description copied from interface: ReplicableCommand
      Writes this instance to the ObjectOutput.
      Parameters:
      output - the stream.
      Throws:
      IOException - if an error occurred during the I/O.
    • readFrom

      public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
      Description copied from interface: ReplicableCommand
      Reads this instance from the stream written by ReplicableCommand.writeTo(ObjectOutput).
      Parameters:
      input - the stream to read.
      Throws:
      IOException - if an error occurred during the I/O.
      ClassNotFoundException - if it tries to load an undefined class.
    • invokeAsync

      public CompletionStage<?> invokeAsync(ComponentRegistry componentRegistry) throws Throwable
      Description copied from interface: CacheRpcCommand
      Invoke the command asynchronously.

      This method replaces ReplicableCommand.invoke() for remote execution. The default implementation and ReplicableCommand.invoke() will be removed in future versions.

      Throws:
      Throwable
    • 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
    • getCommand

      public ReplicableCommand getCommand()
    • 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
    • isSuccessful

      public boolean isSuccessful()
      Description copied from interface: ReplicableCommand
      If true, a return value will be marshalled as a SuccessfulResponse, otherwise it will be marshalled as a UnsuccessfulResponse.
    • canBlock

      public boolean canBlock()
      Description copied from interface: ReplicableCommand
      If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool. Otherwise, the command is processed directly in the JGroups thread.

      This feature allows to avoid keep a JGroups thread busy that can originate discard of messages and retransmissions. So, the commands that can block (waiting for some state, acquiring locks, etc.) should return true.

      Returns:
      true if the command can block/wait, false otherwise
    • logThrowable

      public boolean logThrowable(Throwable t)