alkal-io/kalium

View on GitHub
src/main/java/io/alkal/kalium/internals/QueueListener.java

Summary

Maintainability
A
0 mins
Test Coverage
package io.alkal.kalium.internals;

import java.util.Collection;
import java.util.Map;

/**
 * <tt>QueueListener</tt> provides the Queue Adapter with information on which topics to listen to, and which groups
 * to assign reaction classes to.
 * By definition, only one instance of a reaction class, across multiple consumers, should process a message.
 * In addition, the interface provide a way to be notified whenever a message arrive
 *
 * @author Ziv Salzman
 * Created on 20-Jan-2019
 */
public interface QueueListener {

    /**
     *
     * @return map from a processingGroup id, AKA a reaction id, to a list of topics, AKA objectTypes
     */
    Map<String, Collection<Class>> getReactionIdsToObjectTypesMap();

    void onObjectReceived(String reactionId, Object object);

}