Interface EventPublicationRepository

All Known Implementing Classes:
JdbcEventPublicationRepository, JpaEventPublicationRepository, MongoDbEventPublicationRepository, Neo4jEventPublicationRepository

public interface EventPublicationRepository
Repository to store TargetEventPublications.
Author:
Björn Kieling, Dmitry Belyaev, Oliver Drotbohm
  • Method Details

    • create

      Persists the given TargetEventPublication.
      Parameters:
      publication - must not be null.
      Returns:
      will never be null.
    • markCompleted

      default void markCompleted(TargetEventPublication publication, Instant completionDate)
      Marks the given TargetEventPublication as completed.
      Parameters:
      publication - must not be null.
      completionDate - must not be null.
    • markCompleted

      void markCompleted(Object event, PublicationTargetIdentifier identifier, Instant completionDate)
      Marks the publication for the given event and PublicationTargetIdentifier to be completed at the given Instant.
      Parameters:
      event - must not be null.
      identifier - must not be null.
      completionDate - must not be null.
    • findIncompletePublications

      List<TargetEventPublication> findIncompletePublications()
      Returns all TargetEventPublications that have not been completed yet.
      Returns:
      will never be null.
    • findIncompletePublicationsPublishedBefore

      List<TargetEventPublication> findIncompletePublicationsPublishedBefore(Instant instant)
      Returns all TargetEventPublications that have not been completed and were published before the given Instant.
      Parameters:
      instant - must not be null.
      Returns:
      will never be null.
      Since:
      1.1
    • findIncompletePublicationsByEventAndTargetIdentifier

      Optional<TargetEventPublication> findIncompletePublicationsByEventAndTargetIdentifier(Object event, PublicationTargetIdentifier targetIdentifier)
      Return the incomplete TargetEventPublication for the given serialized event and listener identifier.
      Parameters:
      event - must not be null.
      targetIdentifier - must not be null.
      Returns:
      will never be null.
    • deletePublications

      void deletePublications(List<UUID> identifiers)
      Deletes all publications with the given identifiers.
      Parameters:
      identifiers - must not be null.
      Since:
      1.1
    • deleteCompletedPublications

      void deleteCompletedPublications()
      Deletes all publications that were already marked as completed.
    • deleteCompletedPublicationsBefore

      void deleteCompletedPublicationsBefore(Instant instant)
      Deletes all publication that were already marked as completed with a completion date before the given one.
      Parameters:
      instant - must not be null.