Class MemoryReplayCache

java.lang.Object
org.apache.wss4j.common.cache.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.
  • Field Details

  • Constructor Details

    • MemoryReplayCache

      public MemoryReplayCache()
  • Method Details

    • 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()
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException