Interface SubscriptionJournalStateStore

All Superinterfaces:
JournalStateStore
All Known Implementing Classes:
ClientSubscriptionJournalStateStore, ServerSubscriptionJournalStateStore

public interface SubscriptionJournalStateStore extends JournalStateStore
Since:
9.3.0
  • Method Details

    • removeSubscriptionStateData

      boolean removeSubscriptionStateData(@NonNull JournalIdentifier journalId) throws org.springframework.dao.DataAccessException
      Remove a particular subscription from data store
      Parameters:
      journalId -
      Returns:
      Throws:
      org.springframework.dao.DataAccessException
    • deactivateSubscription

      void deactivateSubscription(@NonNull JournalIdentifier journalId)
      Mark a subscription as deactivate so later on IncrementalSyncCleaner will clean it
      Parameters:
      journalId -
    • getAvailableSubscriptions

      List<SubscriptionId> getAvailableSubscriptions()
      Get all current subscriptions
      Returns:
      list of current subscription ids
    • getDeactivateSubscriptions

      List<SubscriptionId> getDeactivateSubscriptions()
      Get all inactive subscriptions
      Returns:
      list of inactive subscription ids
    • cleanUpSubscriptions

      void cleanUpSubscriptions(JournalIdentifier journalIdentifier, long ttlInMillis)
      A Utility which helps to clean up expired subscriptions and deleted subscription
      Parameters:
      journalIdentifier - an identifier for journal which manage all subscription
      ttlInMillis - time to leave in milliseconds
    • createNewSubscription

      SubscriptionId createNewSubscription(String subscriptionData)
      This method creates a new ACTIVE subscription
      Parameters:
      subscriptionData - the data associated with the subscription
      Returns:
    • getSubscriptionStateData

      Optional<IncrementalSyncSubscription> getSubscriptionStateData(MultiSubscriptionPerJournalIdentifier subscriptionJournalIdentifier)
      Get subscription value detail
      Parameters:
      subscriptionJournalIdentifier -
      Returns:
    • isSubscriptionActive

      boolean isSubscriptionActive(MultiSubscriptionPerJournalIdentifier subscriptionJournalIdentifier)
      Parameters:
      subscriptionJournalIdentifier - subscription identifier
      Returns:
      true if the subscription is active