
org.elder.sourcerer.DefaultEventSubscription Maven / Gradle / Ivy
package org.elder.sourcerer;
import org.elder.sourcerer.subscription.EventSubscriptionManager;
public class DefaultEventSubscription implements EventSubscription {
private final EventRepository repository;
private final EventSubscriptionHandler subscriptionHandler;
private final int batchSize;
private EventSubscriptionPositionSource positionSource;
public DefaultEventSubscription(
final EventRepository repository,
final EventSubscriptionHandler subscriptionHandler,
final int batchSize) {
this.repository = repository;
this.subscriptionHandler = subscriptionHandler;
this.batchSize = batchSize;
}
@Override
public void setPositionSource(final EventSubscriptionPositionSource positionSource) {
this.positionSource = positionSource;
}
@Override
public SubscriptionToken start() {
EventSubscriptionManager subscriptionManager = new EventSubscriptionManager<>(
repository,
positionSource,
subscriptionHandler,
batchSize);
return subscriptionManager.start();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy