Class CollectionMessageStore

java.lang.Object
io.fluxzero.sdk.persisting.search.client.CollectionMessageStore
All Implemented Interfaces:
io.fluxzero.common.Monitored<List<io.fluxzero.common.api.SerializedMessage>>, io.fluxzero.common.tracking.HasMessageStore, io.fluxzero.common.tracking.MessageStore, AutoCloseable

public class CollectionMessageStore extends Object implements io.fluxzero.common.tracking.MessageStore
A MessageStore implementation backed by a collection in an InMemorySearchStore. This class provides functionality for tracking updated documents in a specific collection.

Used to support HandleDocument from in-memory search stores.

  • Constructor Details

    • CollectionMessageStore

      public CollectionMessageStore()
  • Method Details

    • getBatch

      public List<io.fluxzero.common.api.SerializedMessage> getBatch(Long minIndex, int maxSize, boolean inclusive)
      Specified by:
      getBatch in interface io.fluxzero.common.tracking.MessageStore
    • registerMonitor

      public io.fluxzero.common.Registration registerMonitor(Consumer<List<io.fluxzero.common.api.SerializedMessage>> monitor)
      Specified by:
      registerMonitor in interface io.fluxzero.common.Monitored<List<io.fluxzero.common.api.SerializedMessage>>
    • append

      public CompletableFuture<Void> append(List<io.fluxzero.common.api.SerializedMessage> messages)
      Specified by:
      append in interface io.fluxzero.common.tracking.MessageStore
    • setRetentionTime

      public void setRetentionTime(Duration retentionPeriod)
      Specified by:
      setRetentionTime in interface io.fluxzero.common.tracking.MessageStore