Interface ReplicableCommand

All Superinterfaces:
TracedCommand
All Known Subinterfaces:
CacheRpcCommand, DataCommand, DataWriteCommand, FlagAffectedCommand, GlobalRpcCommand, RemoteLockCommand, TopologyAffectedCommand, TransactionalRemoteLockCommand, TransactionBoundaryCommand, VisitableCommand, WriteCommand
All Known Implementing Classes:
AbstractCacheControlCommand, AbstractDataCommand, AbstractDataWriteCommand, AbstractFlagAffectedCommand, AbstractLocalCommand, AbstractTopologyAffectedCommand, AbstractTransactionBoundaryCommand, AbstractWriteKeyCommand, AbstractWriteManyCommand, BackupAckCommand, BackupMultiKeyAckCommand, BackupNoopCommand, BackupWriteCommand, BaseClusteredReadCommand, BaseRpcCommand, CacheAvailabilityUpdateCommand, CacheJoinCommand, CacheLeaveCommand, CacheShutdownCommand, CacheShutdownRequestCommand, CacheStatusRequestCommand, CancelPublisherCommand, CheckTransactionRpcCommand, ClearCommand, ClusteredGetAllCommand, ClusteredGetCommand, CommitCommand, CompleteTransactionCommand, ComputeCommand, ComputeIfAbsentCommand, ConflictResolutionStartCommand, EntrySetCommand, EvictCommand, ExceptionAckCommand, GetAllCommand, GetCacheEntryCommand, GetInDoubtTransactionsCommand, GetInDoubtTxInfoCommand, GetKeyValueCommand, HeartBeatCommand, InitialPublisherCommand, InvalidateCommand, InvalidateL1Command, IracCleanupKeysCommand, IracMetadataRequestCommand, IracPutKeyValueCommand, IracRequestStateCommand, IracStateResponseCommand, IracTombstoneCleanupCommand, IracTombstonePrimaryCheckCommand, IracTombstoneRemoteSiteCheckCommand, IracTombstoneStateResponseCommand, IracUpdateVersionCommand, KeySetCommand, LockControlCommand, MultiClusterEventCommand, MultiEntriesFunctionalBackupWriteCommand, MultiKeyFunctionalBackupWriteCommand, NextPublisherCommand, PrepareCommand, PutKeyValueCommand, PutMapBackupWriteCommand, PutMapCommand, ReadOnlyKeyCommand, ReadOnlyManyCommand, ReadWriteKeyCommand, ReadWriteKeyValueCommand, ReadWriteManyCommand, ReadWriteManyEntriesCommand, RebalancePhaseConfirmCommand, RebalancePolicyUpdateCommand, RebalanceStartCommand, RebalanceStatusRequestCommand, ReductionPublisherRequestCommand, RemoveCommand, RemoveExpiredCommand, ReplaceCommand, ReplicableManagerFunctionCommand, ReplicableRunnableCommand, RollbackCommand, SingleKeyBackupWriteCommand, SingleKeyFunctionalBackupWriteCommand, SingleRpcCommand, SizeCommand, StateResponseCommand, StateTransferCancelCommand, StateTransferGetListenersCommand, StateTransferGetTransactionsCommand, StateTransferStartCommand, TopologyUpdateCommand, TopologyUpdateStableCommand, TouchCommand, TxCompletionNotificationCommand, TxReadOnlyKeyCommand, TxReadOnlyManyCommand, VersionedCommitCommand, VersionedPrepareCommand, WriteOnlyKeyCommand, WriteOnlyKeyValueCommand, WriteOnlyManyCommand, WriteOnlyManyEntriesCommand, XSiteAmendOfflineStatusCommand, XSiteAutoTransferStatusCommand, XSiteBringOnlineCommand, XSiteLocalEventCommand, XSiteOfflineStatusCommand, XSiteSetStateTransferModeCommand, XSiteStatePushCommand, XSiteStateTransferCancelSendCommand, XSiteStateTransferClearStatusCommand, XSiteStateTransferFinishReceiveCommand, XSiteStateTransferFinishSendCommand, XSiteStateTransferRestartSendingCommand, XSiteStateTransferStartReceiveCommand, XSiteStateTransferStartSendCommand, XSiteStateTransferStatusRequestCommand, XSiteStatusCommand, XSiteTakeOfflineCommand

public interface ReplicableCommand extends TracedCommand
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 Details

    • invokeAsync

      @Deprecated(forRemoval=true, since="11.0") default CompletableFuture<Object> invokeAsync() throws Throwable
      Deprecated, for removal: This API element is subject to removal in a future version.
      Invoke the command asynchronously.
      Throws:
      Throwable
      Since:
      9.0
    • invoke

      @Deprecated(forRemoval=true, since="11.0") default Object invoke() throws Throwable
      Deprecated, for removal: This API element is subject to removal in a future version.
      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 remote ResponseGenerator 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 a SuccessfulResponse, otherwise it will be marshalled as a UnsuccessfulResponse.
    • canBlock

      @Deprecated(forRemoval=true) default 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!
      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 the ObjectOutput.
      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 by 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.
    • setOrigin

      default void setOrigin(Address origin)
      Sets the sender's Address.

      By default, it doesn't set anything. Implement this method if the sender's Address is needed.

      Parameters:
      origin - the sender's Address