Package org.infinispan.expiration.impl
Class TouchCommand
- java.lang.Object
-
- org.infinispan.commands.remote.BaseRpcCommand
-
- org.infinispan.expiration.impl.TouchCommand
-
- All Implemented Interfaces:
org.infinispan.commands.remote.CacheRpcCommand
,ReplicableCommand
,TopologyAffectedCommand
public class TouchCommand extends org.infinispan.commands.remote.BaseRpcCommand implements TopologyAffectedCommand
This command can be invoked to update a cache entry's recent access. This can involve updating its last access with max idle as well as recent eviction access times.This command returns a Boolean that is whether this command was able to touch the value or not.
-
-
Field Summary
Fields Modifier and Type Field Description static byte
COMMAND_ID
-
Constructor Summary
Constructors Constructor Description TouchCommand(ByteString cacheName)
TouchCommand(ByteString cacheName, Object key, int segment)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte
getCommandId()
Used by marshallers to convert this command into an id for streaming.int
getTopologyId()
void
init(ComponentRegistry componentRegistry, boolean isRemote)
CompletableFuture<Object>
invokeAsync()
Invoke the command asynchronously.boolean
isReturnValueExpected()
If true, a return value will be provided when performed remotely.void
readFrom(ObjectInput input)
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.void
setTopologyId(int topologyId)
void
writeTo(ObjectOutput output)
Writes this instance to theObjectOutput
.-
Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
canBlock, getCacheName, getOrigin, setOrigin, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.infinispan.commands.ReplicableCommand
canBlock, invoke, isSuccessful, perform
-
-
-
-
Field Detail
-
COMMAND_ID
public static final byte COMMAND_ID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TouchCommand
public TouchCommand(ByteString cacheName)
-
TouchCommand
public TouchCommand(ByteString cacheName, Object key, int segment)
-
-
Method Detail
-
getCommandId
public byte getCommandId()
Description copied from interface:ReplicableCommand
Used by marshallers to convert this command into an id for streaming.- Specified by:
getCommandId
in interfaceReplicableCommand
- Returns:
- the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.
-
isReturnValueExpected
public boolean isReturnValueExpected()
Description copied from interface:ReplicableCommand
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.- Specified by:
isReturnValueExpected
in interfaceReplicableCommand
- Returns:
- true or false
-
writeTo
public void writeTo(ObjectOutput output) throws IOException
Description copied from interface:ReplicableCommand
Writes this instance to theObjectOutput
.- Specified by:
writeTo
in interfaceReplicableCommand
- Parameters:
output
- the stream.- Throws:
IOException
- if an error occurred during the I/O.
-
readFrom
public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
Description copied from interface:ReplicableCommand
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.- Specified by:
readFrom
in 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.
-
init
public void init(ComponentRegistry componentRegistry, boolean isRemote)
-
getTopologyId
public int getTopologyId()
- Specified by:
getTopologyId
in interfaceTopologyAffectedCommand
-
setTopologyId
public void setTopologyId(int topologyId)
- Specified by:
setTopologyId
in interfaceTopologyAffectedCommand
-
invokeAsync
public CompletableFuture<Object> invokeAsync()
Description copied from interface:ReplicableCommand
Invoke 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:
invokeAsync
in interfaceReplicableCommand
-
-