Package org.infinispan.manager.impl
Class ReplicableManagerFunctionCommand
java.lang.Object
org.infinispan.manager.impl.ReplicableManagerFunctionCommand
- All Implemented Interfaces:
ReplicableCommand
Replicable Command that runs the given Function passing the
EmbeddedCacheManager as an argument- Since:
- 8.2
- Author:
- wburns
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionReplicableManagerFunctionCommand(Function<? super EmbeddedCacheManager, ?> function, Subject subject) -
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.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, isSuccessful, logThrowable, setOrigin
-
Field Details
-
COMMAND_ID
public static final byte COMMAND_ID- See Also:
-
-
Constructor Details
-
ReplicableManagerFunctionCommand
public ReplicableManagerFunctionCommand() -
ReplicableManagerFunctionCommand
public ReplicableManagerFunctionCommand(Function<? super EmbeddedCacheManager, ?> function, Subject subject)
-
-
Method Details
-
invokeAsync
Description copied from interface:ReplicableCommandInvoke the command asynchronously.- Specified by:
invokeAsyncin interfaceReplicableCommand- 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
-