![JAR search and dependency download from the Maven repository](/logo.png)
net.osomahe.esk.eventstore.control.EventSubscriptionDataStore Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eventstore-kafka Show documentation
Show all versions of eventstore-kafka Show documentation
CDI extension for Java EE 8 application using Apache Kafka as Event Store
The newest version!
package net.osomahe.esk.eventstore.control;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.logging.Logger;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import net.osomahe.esk.eventstore.entity.EventStoreEvent;
import net.osomahe.esk.eventstore.entity.EventSubscription;
/**
* CDI EventStoreEvent subscription data store for events which were recognized by CDI extension to be observed.
* This data store will later provide the event classes to {@link EventStoreSubscriber} which will handle the subscription.
*
* @author Antonin Stoklasek
*/
@ApplicationScoped
public class EventSubscriptionDataStore {
private static final Logger logger = Logger.getLogger(EventSubscriptionDataStore.class.getName());
private final List> eventClasses = new CopyOnWriteArrayList<>();
/**
* Observes for {@link EventSubscription}
*
* @param event event which will be the application subscribed for
*/
public void subscribeForEvent(@Observes EventSubscription event) {
eventClasses.add(event.getEventClass());
logger.info("Observed subsription for event: " + event);
}
/**
* Provides list of events which supposed to be consumed by application.
*
* @return list of {@link EventStoreEvent} sub-classes
*/
public List> getEventClasses() {
return eventClasses;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy