Class SingleXSiteRpcCommand

  • All Implemented Interfaces:
    org.infinispan.commands.remote.CacheRpcCommand, org.infinispan.commands.ReplicableCommand

    public class SingleXSiteRpcCommand
    extends XSiteReplicateCommand
    RPC command to replicate cache operations (such as put, remove, replace, etc.) to the backup site.
    Since:
    7.0
    Author:
    Pedro Ruivo
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int COMMAND_ID  
      • Fields inherited from class org.infinispan.commands.remote.BaseRpcCommand

        cacheName
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte getCommandId()
      Used by marshallers to convert this command into an id for streaming.
      java.util.concurrent.CompletableFuture<java.lang.Object> invokeAsync()
      Invoke the command asynchronously.
      boolean isReturnValueExpected()
      If true, a return value will be provided when performed remotely.
      java.util.concurrent.CompletionStage<java.lang.Void> performInLocalSite​(BackupReceiver receiver, boolean preserveOrder)  
      void readFrom​(java.io.ObjectInput input)
      Reads this instance from the stream written by ReplicableCommand.writeTo(ObjectOutput).
      java.lang.String toString()  
      void writeTo​(java.io.ObjectOutput output)
      Writes this instance to the ObjectOutput.
      • Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand

        canBlock, getCacheName, getOrigin, setOrigin
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.infinispan.commands.ReplicableCommand

        invoke, isSuccessful, perform
    • Constructor Detail

      • SingleXSiteRpcCommand

        public SingleXSiteRpcCommand​(ByteString cacheName,
                                     org.infinispan.commands.VisitableCommand command)
      • SingleXSiteRpcCommand

        public SingleXSiteRpcCommand​(ByteString cacheName)
      • SingleXSiteRpcCommand

        public SingleXSiteRpcCommand()
    • Method Detail

      • invokeAsync

        public java.util.concurrent.CompletableFuture<java.lang.Object> invokeAsync()
                                                                             throws java.lang.Throwable
        Description copied from interface: org.infinispan.commands.ReplicableCommand
        Invoke the command asynchronously.

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

        Throws:
        java.lang.Throwable
      • getCommandId

        public byte getCommandId()
        Description copied from interface: org.infinispan.commands.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​(java.io.ObjectOutput output)
                     throws java.io.IOException
        Description copied from interface: org.infinispan.commands.ReplicableCommand
        Writes this instance to the ObjectOutput.
        Parameters:
        output - the stream.
        Throws:
        java.io.IOException - if an error occurred during the I/O.
      • readFrom

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

        public boolean isReturnValueExpected()
        Description copied from interface: org.infinispan.commands.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
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class org.infinispan.commands.remote.BaseRpcCommand