Interface EventListenerProducer<T>

  • Type Parameters:
    T - type of the event listener - ProcessEventListener, AgendaEventListener, WorkingMemoryEventListener

    public interface EventListenerProducer<T>
    Allows do define custom producers for know EventListeners. Intention of this is that there might be several implementations that might provide different listener instance based on the context they are executed in.
    It will be invoked by RegisterableItemsFactory implementation (especially InjectableRegisterableItemsFactory in CDI world) for every KieSession. Recommendation is to always produce new instances to avoid unexpected results.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.List<T> getEventListeners​(java.lang.String identifier, java.util.Map<java.lang.String,​java.lang.Object> params)
      Returns list of instances for given (T) type of listeners
      Parameters that might be given are as follows: ksession taskService runtimeManager
    • Method Detail

      • getEventListeners

        java.util.List<T> getEventListeners​(java.lang.String identifier,
                                            java.util.Map<java.lang.String,​java.lang.Object> params)
        Returns list of instances for given (T) type of listeners
        Parameters that might be given are as follows:
        • ksession
        • taskService
        • runtimeManager
        Parameters:
        identifier - - identifier of the owner - usually RuntimeManager that allows the producer to filter out and provide valid instances for given owner
        params - - owner might provide some parameters, usually KieSession, TaskService, RuntimeManager instances
        Returns:
        list of listener instances (recommendation is to always return new instances when this method is invoked)