Package org.infinispan.manager.impl
Class ReplicableRunnableCommand
java.lang.Object
org.infinispan.manager.impl.ReplicableRunnableCommand
- All Implemented Interfaces:
GlobalRpcCommand,ReplicableCommand
Replicable Command that runs the given Runnable
- Since:
- 8.2
- Author:
- wburns
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanBlock()If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.byteUsed by marshallers to convert this command into an id for streaming.invokeAsync(GlobalComponentRegistry globalComponentRegistry) Invoke the command asynchronously.booleanIf true, a return value will be provided when performed remotely.voidreadFrom(ObjectInput input) Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).voidwriteTo(ObjectOutput output) Writes this instance to theObjectOutput.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.infinispan.commands.ReplicableCommand
invoke, invokeAsync, isSuccessful, logThrowable, setOrigin
-
Field Details
-
COMMAND_ID
public static final byte COMMAND_ID- See Also:
-
-
Constructor Details
-
ReplicableRunnableCommand
public ReplicableRunnableCommand() -
ReplicableRunnableCommand
-
-
Method Details
-
invokeAsync
public CompletionStage<?> invokeAsync(GlobalComponentRegistry globalComponentRegistry) throws Throwable Description copied from interface:GlobalRpcCommandInvoke the command asynchronously.- Specified by:
invokeAsyncin interfaceGlobalRpcCommand- Throws:
Throwable
-
getCommandId
public byte getCommandId()Description copied from interface:ReplicableCommandUsed by marshallers to convert this command into an id for streaming.- Specified by:
getCommandIdin interfaceReplicableCommand- Returns:
- the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.
-
readFrom
Description copied from interface:ReplicableCommandReads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).- Specified by:
readFromin interfaceReplicableCommand- 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.
-
writeTo
Description copied from interface:ReplicableCommandWrites this instance to theObjectOutput.- Specified by:
writeToin interfaceReplicableCommand- Parameters:
output- the stream.- Throws:
IOException- if an error occurred during the I/O.
-
isReturnValueExpected
public boolean isReturnValueExpected()Description copied from interface:ReplicableCommandIf true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGeneratormay choose to simply return null to save on marshalling costs.- Specified by:
isReturnValueExpectedin interfaceReplicableCommand- Returns:
- true or false
-
canBlock
public boolean canBlock()Description copied from interface:ReplicableCommandIf 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.- Specified by:
canBlockin interfaceReplicableCommand- Returns:
trueif the command can block/wait,falseotherwise
-