Package org.infinispan.topology
Class CacheTopologyControlCommand
- java.lang.Object
-
- org.infinispan.topology.CacheTopologyControlCommand
-
- All Implemented Interfaces:
org.infinispan.commands.ReplicableCommand
public class CacheTopologyControlCommand extends java.lang.Object implements org.infinispan.commands.ReplicableCommandA control command for all cache membership/rebalance operations. It is not aCacheRpcCommandbecause it needs to run on the coordinator even when the coordinator doesn't have a certain cache running.- Since:
- 5.2
- Author:
- Dan Berindei
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCacheTopologyControlCommand.Type
-
Field Summary
Fields Modifier and Type Field Description static byteCOMMAND_ID
-
Constructor Summary
Constructors Constructor Description CacheTopologyControlCommand()CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, int viewId)CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, int topologyId, int rebalanceId, java.lang.Throwable throwable, int viewId)CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, AvailabilityMode availabilityMode, int viewId)CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, CacheJoinInfo joinInfo, int viewId)CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, CacheTopology cacheTopology, AvailabilityMode availabilityMode, int viewId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanBlock()If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.AvailabilityModegetAvailabilityMode()java.lang.StringgetCacheName()bytegetCommandId()Used by marshallers to convert this command into an id for streaming.ConsistentHashgetCurrentCH()AddressgetOrigin()ConsistentHashgetPendingCH()CacheTopology.PhasegetPhase()java.lang.ThrowablegetThrowable()intgetTopologyId()CacheTopologyControlCommand.TypegetType()java.util.concurrent.CompletableFuture<java.lang.Object>invokeAsync()Invoke the command asynchronously.booleanisReturnValueExpected()If true, a return value will be provided when performed remotely.voidreadFrom(java.io.ObjectInput input)Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).java.lang.StringtoString()voidwriteTo(java.io.ObjectOutput output)Writes this instance to theObjectOutput.
-
-
-
Field Detail
-
COMMAND_ID
public static final byte COMMAND_ID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CacheTopologyControlCommand
public CacheTopologyControlCommand()
-
CacheTopologyControlCommand
public CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, int viewId)
-
CacheTopologyControlCommand
public CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, CacheJoinInfo joinInfo, int viewId)
-
CacheTopologyControlCommand
public CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, int topologyId, int rebalanceId, java.lang.Throwable throwable, int viewId)
-
CacheTopologyControlCommand
public CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, AvailabilityMode availabilityMode, int viewId)
-
CacheTopologyControlCommand
public CacheTopologyControlCommand(java.lang.String cacheName, CacheTopologyControlCommand.Type type, Address sender, CacheTopology cacheTopology, AvailabilityMode availabilityMode, int viewId)
-
-
Method Detail
-
invokeAsync
public java.util.concurrent.CompletableFuture<java.lang.Object> invokeAsync() throws java.lang.ThrowableDescription copied from interface:org.infinispan.commands.ReplicableCommandInvoke the command asynchronously.This method replaces
ReplicableCommand.perform(InvocationContext)for remote execution. The default implementation andReplicableCommand.perform(InvocationContext)will be removed in future versions.- Specified by:
invokeAsyncin interfaceorg.infinispan.commands.ReplicableCommand- Throws:
java.lang.Throwable
-
getCacheName
public java.lang.String getCacheName()
-
getOrigin
public Address getOrigin()
-
getType
public CacheTopologyControlCommand.Type getType()
-
getTopologyId
public int getTopologyId()
-
getCurrentCH
public ConsistentHash getCurrentCH()
-
getPendingCH
public ConsistentHash getPendingCH()
-
getAvailabilityMode
public AvailabilityMode getAvailabilityMode()
-
getThrowable
public java.lang.Throwable getThrowable()
-
getPhase
public CacheTopology.Phase getPhase()
-
getCommandId
public byte getCommandId()
Description copied from interface:org.infinispan.commands.ReplicableCommandUsed by marshallers to convert this command into an id for streaming.- Specified by:
getCommandIdin interfaceorg.infinispan.commands.ReplicableCommand- Returns:
- the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.
-
writeTo
public void writeTo(java.io.ObjectOutput output) throws java.io.IOExceptionDescription copied from interface:org.infinispan.commands.ReplicableCommandWrites this instance to theObjectOutput.- Specified by:
writeToin interfaceorg.infinispan.commands.ReplicableCommand- Parameters:
output- the stream.- Throws:
java.io.IOException- if an error occurred during the I/O.
-
readFrom
public void readFrom(java.io.ObjectInput input) throws java.io.IOException, java.lang.ClassNotFoundExceptionDescription copied from interface:org.infinispan.commands.ReplicableCommandReads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).- Specified by:
readFromin interfaceorg.infinispan.commands.ReplicableCommand- Parameters:
input- the stream to read.- Throws:
java.io.IOException- if an error occurred during the I/O.java.lang.ClassNotFoundException- if it tries to load an undefined class.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
isReturnValueExpected
public boolean isReturnValueExpected()
Description copied from interface:org.infinispan.commands.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 interfaceorg.infinispan.commands.ReplicableCommand- Returns:
- true or false
-
canBlock
public boolean canBlock()
Description copied from interface:org.infinispan.commands.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 interfaceorg.infinispan.commands.ReplicableCommand- Returns:
trueif the command can block/wait,falseotherwise
-
-