Class JdbcEventPublicationRepository
java.lang.Object
org.springframework.modulith.events.jdbc.JdbcEventPublicationRepository
- All Implemented Interfaces:
EventPublicationRepository
JDBC-based repository to store
EventPublications.- Author:
- Dmitry Belyaev, Björn Kieling, Oliver Drotbohm
-
Constructor Summary
ConstructorsConstructorDescriptionJdbcEventPublicationRepository(JdbcOperations operations, EventSerializer serializer, DatabaseType databaseType) Creates a newJdbcEventPublicationRepositoryfor the givenJdbcOperations,EventSerializerandDatabaseType. -
Method Summary
Modifier and TypeMethodDescriptioncreate(EventPublication publication) Persists the givenEventPublication.voidDeletes all publications that were already marked as completed.Returns allEventPublicationthat have not been completed yet.findIncompletePublicationsByEventAndTargetIdentifier(Object event, PublicationTargetIdentifier targetIdentifier) Return the incompleteEventPublicationfor the given serialized event and listener identifier.update(CompletableEventPublication publication) Update the data store to mark the backing log entry as completed.
-
Constructor Details
-
JdbcEventPublicationRepository
public JdbcEventPublicationRepository(JdbcOperations operations, EventSerializer serializer, DatabaseType databaseType) Creates a newJdbcEventPublicationRepositoryfor the givenJdbcOperations,EventSerializerandDatabaseType.- Parameters:
operations- must not be null.serializer- must not be null.databaseType- must not be null.
-
-
Method Details
-
create
Description copied from interface:EventPublicationRepositoryPersists the givenEventPublication.- Specified by:
createin interfaceEventPublicationRepository- Parameters:
publication- must not be null.- Returns:
- will never be null.
-
update
Description copied from interface:EventPublicationRepositoryUpdate the data store to mark the backing log entry as completed.- Specified by:
updatein interfaceEventPublicationRepository- Parameters:
publication- must not be null.- Returns:
- will never be null.
-
findIncompletePublicationsByEventAndTargetIdentifier
@Transactional(readOnly=true) public Optional<EventPublication> findIncompletePublicationsByEventAndTargetIdentifier(Object event, PublicationTargetIdentifier targetIdentifier) Description copied from interface:EventPublicationRepositoryReturn the incompleteEventPublicationfor the given serialized event and listener identifier.- Specified by:
findIncompletePublicationsByEventAndTargetIdentifierin interfaceEventPublicationRepository- Parameters:
event- must not be null.targetIdentifier- must not be null.- Returns:
- will never be null.
-
findIncompletePublications
Description copied from interface:EventPublicationRepositoryReturns allEventPublicationthat have not been completed yet.- Specified by:
findIncompletePublicationsin interfaceEventPublicationRepository- Returns:
- will never be null.
-
deleteCompletedPublications
public void deleteCompletedPublications()Description copied from interface:EventPublicationRepositoryDeletes all publications that were already marked as completed.- Specified by:
deleteCompletedPublicationsin interfaceEventPublicationRepository
-