All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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