Class TouchCommand

java.lang.Object
org.infinispan.commands.read.AbstractDataCommand
org.infinispan.expiration.impl.TouchCommand
All Implemented Interfaces:
DataCommand, FlagAffectedCommand, org.infinispan.commands.remote.CacheRpcCommand, ReplicableCommand, SegmentSpecificCommand, TopologyAffectedCommand, TracedCommand, VisitableCommand, VersionAware

@ProtoTypeId(1237) public class TouchCommand extends org.infinispan.commands.read.AbstractDataCommand
This command updates a cache entry's last access timestamp. If eviction is enabled, it will also update the recency information

This command returns a Boolean that is whether this command was able to touch the value or not.

  • Constructor Details

    • TouchCommand

      public TouchCommand(ByteString cacheName, Object key, int segment, long flagBitSet, boolean touchEvenIfExpired)
  • Method Details

    • isTouchEvenIfExpired

      public boolean isTouchEvenIfExpired()
    • acceptVisitor

      public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
      Description copied from interface: VisitableCommand
      Accept a visitor, and return the result of accepting this visitor.
      Parameters:
      ctx - invocation context
      visitor - visitor to accept
      Returns:
      arbitrary return value
      Throws:
      Throwable - in the event of problems
    • loadType

      public VisitableCommand.LoadType loadType()
      Returns:
      Nodes on which the command needs to read the previous values of the keys it acts on.
    • supportedSince

      public NodeVersion supportedSince()
      Description copied from interface: ReplicableCommand
      Returns a NodeVersion representing the Infinispan version in which this command was added. This value is used to ensure that when the cluster contains different Infinispan versions, only commands compatible with the oldest version are transmitted.

      Abstract classes should not implement this method as the version should be specific to an individual implementation. Similarly, implementations which extend another ReplicableCommand should always override this method.

      Returns:
      a NodeVersion corresponding to the Infinispan version this command was added.