Package org.infinispan.commands
Interface ReplicableCommand
- All Superinterfaces:
TracedCommand
- All Known Subinterfaces:
DataCommand
,FlagAffectedCommand
,GlobalRpcCommand
,RemoteLockCommand
,TopologyAffectedCommand
,TransactionalRemoteLockCommand
,VisitableCommand
- All Known Implementing Classes:
org.infinispan.commands.read.AbstractDataCommand
,AbstractFlagAffectedCommand
,AbstractTopologyAffectedCommand
,org.infinispan.commands.remote.BaseRpcCommand
,ForwardCommitCommand
,ForwardRollbackCommand
,HeartBeatCommand
,MultiClusterEventCommand
,ReplicableManagerFunctionCommand
,ReplicableRunnableCommand
,TouchCommand
,XSiteAmendOfflineStatusCommand
,XSiteAutoTransferStatusCommand
,XSiteBringOnlineCommand
,XSiteLocalEventCommand
,XSiteOfflineStatusCommand
,XSiteSetStateTransferModeCommand
,XSiteStatePushCommand
,XSiteStateTransferCancelSendCommand
,XSiteStateTransferClearStatusCommand
,XSiteStateTransferFinishReceiveCommand
,XSiteStateTransferFinishSendCommand
,XSiteStateTransferRestartSendingCommand
,XSiteStateTransferStartReceiveCommand
,XSiteStateTransferStartSendCommand
,XSiteStateTransferStatusRequestCommand
,XSiteStatusCommand
,XSiteTakeOfflineCommand
The core of the command-based cache framework. Commands correspond to specific areas of functionality in the cache,
and can be replicated using the
RpcManager
- Since:
- 4.0
- Author:
- Mircea.Markus@jboss.com, Manik Surtani
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
canBlock()
Deprecated, for removal: This API element is subject to removal in a future version.since 11.0 - All commands will be required to be non blocking!byte
Used by marshallers to convert this command into an id for streaming.default Object
invoke()
Deprecated, for removal: This API element is subject to removal in a future version.since 11.0, please useCacheRpcCommand.invokeAsync(ComponentRegistry)
orGlobalRpcCommand.invokeAsync(GlobalComponentRegistry)
instead.default CompletableFuture
<Object> Deprecated, for removal: This API element is subject to removal in a future version.since 11.0, please useCacheRpcCommand.invokeAsync(ComponentRegistry)
orGlobalRpcCommand.invokeAsync(GlobalComponentRegistry)
instead.boolean
If true, a return value will be provided when performed remotely.default boolean
If true, a return value will be marshalled as aSuccessfulResponse
, otherwise it will be marshalled as aUnsuccessfulResponse
.default boolean
default void
readFrom
(ObjectInput input) Reads this instance from the stream written bywriteTo(ObjectOutput)
.default void
Sets the sender'sAddress
.default void
writeTo
(ObjectOutput output) Writes this instance to theObjectOutput
.Methods inherited from interface org.infinispan.commands.TracedCommand
getOperationName, getSpanAttributes, setSpanAttributes
-
Method Details
-
invokeAsync
@Deprecated(forRemoval=true, since="11.0") default CompletableFuture<Object> invokeAsync() throws ThrowableDeprecated, for removal: This API element is subject to removal in a future version.since 11.0, please useCacheRpcCommand.invokeAsync(ComponentRegistry)
orGlobalRpcCommand.invokeAsync(GlobalComponentRegistry)
instead.Invoke the command asynchronously.- Throws:
Throwable
- Since:
- 9.0
-
invoke
Deprecated, for removal: This API element is subject to removal in a future version.since 11.0, please useCacheRpcCommand.invokeAsync(ComponentRegistry)
orGlobalRpcCommand.invokeAsync(GlobalComponentRegistry)
instead.Invoke the command synchronously.- Throws:
Throwable
- Since:
- 9.0
-
getCommandId
byte getCommandId()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.
-
isReturnValueExpected
boolean isReturnValueExpected()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
-
isSuccessful
default boolean isSuccessful()If true, a return value will be marshalled as aSuccessfulResponse
, otherwise it will be marshalled as aUnsuccessfulResponse
. -
canBlock
Deprecated, for removal: This API element is subject to removal in a future version.since 11.0 - All commands will be required to be non blocking!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
-
writeTo
Writes this instance to theObjectOutput
.- Parameters:
output
- the stream.- Throws:
IOException
- if an error occurred during the I/O.
-
readFrom
Reads this instance from the stream written bywriteTo(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.
-
setOrigin
Sets the sender'sAddress
.By default, it doesn't set anything. Implement this method if the sender's
Address
is needed.- Parameters:
origin
- the sender'sAddress
-