
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 SubscriptionWorkerConfig config;
private EventSubscriptionPositionSource positionSource;
public DefaultEventSubscription(
final EventRepository repository,
final EventSubscriptionHandler subscriptionHandler,
final SubscriptionWorkerConfig config) {
this.repository = repository;
this.subscriptionHandler = subscriptionHandler;
this.config = config;
}
@Override
public void setPositionSource(final EventSubscriptionPositionSource positionSource) {
this.positionSource = positionSource;
}
@Override
public SubscriptionToken start() {
EventSubscriptionManager subscriptionManager = new EventSubscriptionManager<>(
repository,
positionSource,
subscriptionHandler,
config);
return subscriptionManager.start();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy