Class MemoryReplayCache

  • All Implemented Interfaces:
    Closeable, AutoCloseable, ReplayCache

    public class MemoryReplayCache
    extends Object
    implements ReplayCache
    A simple in-memory HashSet based cache to prevent against replay attacks. The default TTL is 5 minutes and the max TTL is 60 minutes.
    • Constructor Detail

      • MemoryReplayCache

        public MemoryReplayCache()
    • Method Detail

      • add

        public void add​(String identifier)
        Add the given identifier to the cache. It will be cached for a default amount of time.
        Specified by:
        add in interface ReplayCache
        Parameters:
        identifier - The identifier to be added
      • add

        public void add​(String identifier,
                        Instant expiry)
        Add the given identifier to the cache to be cached for the given time
        Specified by:
        add in interface ReplayCache
        Parameters:
        identifier - The identifier to be added
        expiry - A custom expiry time for the identifier
      • contains

        public boolean contains​(String identifier)
        Return true if the given identifier is contained in the cache
        Specified by:
        contains in interface ReplayCache
        Parameters:
        identifier - The identifier to check
      • processTokenExpiry

        protected void processTokenExpiry()