Class AbstractStatusIndexPoolService<T extends io.jans.model.token.AbstractIndexPool>

java.lang.Object
io.jans.as.server.service.cluster.AbstractStatusIndexPoolService<T>
Direct Known Subclasses:
StatusIndexPoolService

public abstract class AbstractStatusIndexPoolService<T extends io.jans.model.token.AbstractIndexPool> extends Object
Version:
1.0, 06/03/2024
Author:
Yuriy Movchan
  • Field Details

    • ATTEMPT_LIMIT

      public static final int ATTEMPT_LIMIT
      See Also:
    • DELAY_AFTER_EXPIRATION

      public static long DELAY_AFTER_EXPIRATION
    • LOCK_WAIT_BEFORE_UPDATE

      public static long LOCK_WAIT_BEFORE_UPDATE
    • DELAY_IF_LOCKED

      public static long DELAY_IF_LOCKED
  • Constructor Details

    • AbstractStatusIndexPoolService

      public AbstractStatusIndexPoolService()
  • Method Details

    • setIndexes

      public static io.jans.model.token.AbstractIndexPool setIndexes(io.jans.model.token.AbstractIndexPool pool, int indexAllocationBlockSize)
    • init

      @PostConstruct public void init()
    • getPoolByDn

      public T getPoolByDn(String dn)
      Returns pool by dn
      Returns:
      pool
    • getPoolById

      public T getPoolById(int id)
      Returns pool by Id
      Returns:
      pool
    • getAllPools

      public List<T> getAllPools()
      Returns a list of all pools
      Returns:
      list of pools
    • getPoolLast

      public T getPoolLast()
      Returns last (max) pool or null if none
      Returns:
      pool
    • getPoolByIndex

      public T getPoolByIndex(int index)
      Gets pool by global status list index
      Parameters:
      index - status list index
      Returns:
      pool
    • getNodePools

      public List<T> getNodePools(Integer nodeId)
      Returns a list of all pools associated with ClusterNode
      Returns:
      list of pools
    • getPoolsExpired

      public List<T> getPoolsExpired()
      Returns a list of expired pools
      Returns:
      list of pools
    • persist

      protected void persist(T pool)
    • update

      public void update(T pool)
    • updateWithLock

      public T updateWithLock(String poolDn, List<Integer> indexes, io.jans.model.tokenstatus.TokenStatus status) throws IOException
      Throws:
      IOException
    • allocate

      Throws:
      NoSuchMethodException
      IllegalAccessException
      InvocationTargetException
      InstantiationException
    • baseDn

      public abstract String baseDn()
    • getStatusListBitSize

      public abstract int getStatusListBitSize()
    • getEntityClass

      public abstract Class<T> getEntityClass()
    • markAllIndexesAsValid

      public abstract void markAllIndexesAsValid(List<Integer> enumerateAllIndexes)
    • logPrefix

      public abstract String logPrefix()
    • createDn

      public String createDn(int id)