/** * Builds the event processor. It uses deprecated {@code eventProcessorBuilder} and extracts event listeners from * {@code eventHandlerInvoker} with an assumption that all of them are {@link SimpleEventHandlerInvoker}s. This * method is only for backward compatibility purposes. * * @param processorName name of the processor * @param config axon configuration * @param eventHandlerInvoker multi event handler invoker. Assumption is that all invokers which this one contains * are of {@link SimpleEventHandlerInvoker} type * @param eventProcessorBuilder backward compatible event processor builder * @return event processor */ private EventProcessor buildEventProcessor(String processorName, Configuration config, MultiEventHandlerInvoker eventHandlerInvoker, EventProcessorBuilder eventProcessorBuilder) { return eventProcessorBuilder .createEventProcessor(config, processorName, eventHandlerInvoker .delegates() .stream() .map(i -> ((SimpleEventHandlerInvoker) i).eventListeners()) .flatMap(Collection::stream) .collect(Collectors.toList())); }