Package org.infinispan.xsite
Class SingleXSiteRpcCommand
- java.lang.Object
-
- org.infinispan.commands.remote.BaseRpcCommand
-
- org.infinispan.xsite.XSiteReplicateCommand
-
- org.infinispan.xsite.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
-
Constructor Summary
Constructors Constructor Description SingleXSiteRpcCommand()
SingleXSiteRpcCommand(ByteString cacheName)
SingleXSiteRpcCommand(ByteString cacheName, org.infinispan.commands.VisitableCommand command)
-
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.CompletableFuture<Object>
invokeAsync()
Invoke the command asynchronously.boolean
isReturnValueExpected()
If true, a return value will be provided when performed remotely.CompletionStage<Void>
performInLocalSite(BackupReceiver receiver, boolean preserveOrder)
void
readFrom(ObjectInput input)
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.String
toString()
void
writeTo(ObjectOutput output)
Writes this instance to theObjectOutput
.-
Methods inherited from class org.infinispan.xsite.XSiteReplicateCommand
getOriginSite, setOriginSite
-
Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
canBlock, getCacheName, getOrigin, setOrigin
-
-
-
-
Field Detail
-
COMMAND_ID
public static final int COMMAND_ID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SingleXSiteRpcCommand
public SingleXSiteRpcCommand(ByteString cacheName, org.infinispan.commands.VisitableCommand command)
-
SingleXSiteRpcCommand
public SingleXSiteRpcCommand(ByteString cacheName)
-
SingleXSiteRpcCommand
public SingleXSiteRpcCommand()
-
-
Method Detail
-
performInLocalSite
public CompletionStage<Void> performInLocalSite(BackupReceiver receiver, boolean preserveOrder)
- Specified by:
performInLocalSite
in classXSiteReplicateCommand
-
invokeAsync
public CompletableFuture<Object> invokeAsync() throws 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 andReplicableCommand.perform(InvocationContext)
will be removed in future versions.- Throws:
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(ObjectOutput output) throws IOException
Description copied from interface:org.infinispan.commands.ReplicableCommand
Writes this instance to theObjectOutput
.- 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:org.infinispan.commands.ReplicableCommand
Reads this instance from the stream written byReplicableCommand.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.
-
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 remoteResponseGenerator
may choose to simply return null to save on marshalling costs.- Returns:
- true or false
-
toString
public String toString()
- Overrides:
toString
in classorg.infinispan.commands.remote.BaseRpcCommand
-
-