Package org.infinispan.commands
Interface ReplicableCommand
-
- 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
,XSiteOfflineStatusCommand
,org.infinispan.xsite.XSiteReplicateCommand
,XSiteSetStateTransferModeCommand
,XSiteStatePushCommand
,XSiteStateTransferCancelSendCommand
,XSiteStateTransferClearStatusCommand
,XSiteStateTransferFinishReceiveCommand
,XSiteStateTransferFinishSendCommand
,XSiteStateTransferRestartSendingCommand
,XSiteStateTransferStartReceiveCommand
,XSiteStateTransferStartSendCommand
,XSiteStateTransferStatusRequestCommand
,XSiteStatusCommand
,XSiteTakeOfflineCommand
,XSiteViewNotificationCommand
public interface ReplicableCommand
The core of the command-based cache framework. Commands correspond to specific areas of functionality in the cache, and can be replicated using theRpcManager
- Since:
- 4.0
- Author:
- Mircea.Markus@jboss.com, Manik Surtani
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description default boolean
canBlock()
Deprecated.since 11.0 - All commands will be required to be non blocking!byte
getCommandId()
Used by marshallers to convert this command into an id for streaming.default Object
invoke()
Deprecated.since 11.0, please useCacheRpcCommand.invokeAsync(ComponentRegistry)
orGlobalRpcCommand.invokeAsync(GlobalComponentRegistry)
instead.default CompletableFuture<Object>
invokeAsync()
Deprecated.since 11.0, please useCacheRpcCommand.invokeAsync(ComponentRegistry)
orGlobalRpcCommand.invokeAsync(GlobalComponentRegistry)
instead.boolean
isReturnValueExpected()
If true, a return value will be provided when performed remotely.default boolean
isSuccessful()
If true, a return value will be marshalled as aSuccessfulResponse
, otherwise it will be marshalled as aUnsuccessfulResponse
.default boolean
logThrowable(Throwable t)
default void
readFrom(ObjectInput input)
Reads this instance from the stream written bywriteTo(ObjectOutput)
.default void
setOrigin(Address origin)
Sets the sender'sAddress
.default void
writeTo(ObjectOutput output)
Writes this instance to theObjectOutput
.
-
-
-
Method Detail
-
invokeAsync
@Deprecated default CompletableFuture<Object> invokeAsync() throws Throwable
Deprecated.since 11.0, please useCacheRpcCommand.invokeAsync(ComponentRegistry)
orGlobalRpcCommand.invokeAsync(GlobalComponentRegistry)
instead.Invoke the command asynchronously.- Throws:
Throwable
- Since:
- 9.0
-
invoke
@Deprecated default Object invoke() throws Throwable
Deprecated.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 default boolean canBlock()
Deprecated.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
default boolean logThrowable(Throwable t)
-
writeTo
default void writeTo(ObjectOutput output) throws IOException
Writes this instance to theObjectOutput
.- Parameters:
output
- the stream.- Throws:
IOException
- if an error occurred during the I/O.
-
readFrom
default void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
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.
-
-