Interface QueueStore<T>

Type Parameters:
T - queue item type

public interface QueueStore<T>
Service Provider Interface (SPI) for backing a DistributedQueue with an external persistent store.

Queue entries are identified by monotonically increasing Long item IDs. Implementations are expected to be thread-safe.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    delete(Long key)
    Delete one persisted queue item.
    default void
    Delete multiple persisted queue items.
    @Nullable T
    load(Long key)
    Load one persisted queue item.
    default @Nullable Map<Long,T>
    Load multiple queue items.
    default @Nullable Set<Long>
    Load all persisted queue item IDs.
    void
    store(Long key, T value)
    Persist one queue item.
    default void
    storeAll(Map<Long, ? extends T> map)
    Persist multiple queue items.
  • Method Details

    • store

      void store(Long key, T value)
      Persist one queue item.
      Parameters:
      key - queue item ID
      value - item value
    • storeAll

      default void storeAll(Map<Long, ? extends T> map)
      Persist multiple queue items. Override when the backing store can batch writes more efficiently.
      Parameters:
      map - entries to persist
    • delete

      void delete(Long key)
      Delete one persisted queue item.
      Parameters:
      key - queue item ID
    • deleteAll

      default void deleteAll(Collection<Long> keys)
      Delete multiple persisted queue items.
      Parameters:
      keys - queue item IDs
    • load

      @Nullable T load(Long key)
      Load one persisted queue item.
      Parameters:
      key - queue item ID
      Returns:
      stored item, or null when absent
    • loadAll

      default @Nullable Map<Long,T> loadAll(Collection<Long> keys)
      Load multiple queue items.
      Parameters:
      keys - queue item IDs
      Returns:
      loaded entries, or null when none were loaded
    • loadAllKeys

      default @Nullable Set<Long> loadAllKeys()
      Load all persisted queue item IDs. The queue sorts IDs ascending during recovery, so implementations do not need to return them in FIFO order.
      Returns:
      item IDs, or null when no keys are available