/** * Registers a {@link org.axonframework.eventhandling.SubscribingEventProcessor} with given {@code name} within this * Configurer. * * @param name a {@link String} specyfing the name of the {@link org.axonframework.eventhandling.SubscribingEventProcessor} * being registered * @return the current {@link EventProcessingConfigurer} instance, for fluent interfacing */ default EventProcessingConfigurer registerSubscribingEventProcessor(String name) { return registerSubscribingEventProcessor(name, Configuration::eventBus); }
@SuppressWarnings("unchecked") @Autowired public void configureEventHandling(EventProcessingConfigurer eventProcessingConfigurer, ApplicationContext applicationContext) { eventProcessorProperties.getProcessors().forEach((k, v) -> { Function<Configuration, SequencingPolicy<? super EventMessage<?>>> sequencingPolicy = resolveSequencingPolicy(applicationContext, v); eventProcessingConfigurer.registerSequencingPolicy(k, sequencingPolicy); if (v.getMode() == EventProcessorProperties.Mode.TRACKING) { TrackingEventProcessorConfiguration config = TrackingEventProcessorConfiguration .forParallelProcessing(v.getThreadCount()) .andBatchSize(v.getBatchSize()) .andInitialSegmentsCount(v.getInitialSegmentCount()); Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> messageSource = resolveMessageSource(applicationContext, v); eventProcessingConfigurer.registerTrackingEventProcessor(k, messageSource, c -> config); } else { if (v.getSource() == null) { eventProcessingConfigurer.registerSubscribingEventProcessor(k); } else { eventProcessingConfigurer.registerSubscribingEventProcessor(k, c -> applicationContext .getBean(v.getSource(), SubscribableMessageSource.class)); } } }); }
/** * Registers a {@link org.axonframework.eventhandling.SubscribingEventProcessor} with given {@code name} within this * Configurer. * * @param name a {@link String} specyfing the name of the {@link org.axonframework.eventhandling.SubscribingEventProcessor} * being registered * @return the current {@link EventProcessingConfigurer} instance, for fluent interfacing */ default EventProcessingConfigurer registerSubscribingEventProcessor(String name) { return registerSubscribingEventProcessor(name, Configuration::eventBus); }
@SuppressWarnings("unchecked") @Autowired public void configureEventHandling(EventProcessingConfigurer eventProcessingConfigurer, ApplicationContext applicationContext) { eventProcessorProperties.getProcessors().forEach((k, v) -> { Function<Configuration, SequencingPolicy<? super EventMessage<?>>> sequencingPolicy = resolveSequencingPolicy(applicationContext, v); eventProcessingConfigurer.registerSequencingPolicy(k, sequencingPolicy); if (v.getMode() == EventProcessorProperties.Mode.TRACKING) { TrackingEventProcessorConfiguration config = TrackingEventProcessorConfiguration .forParallelProcessing(v.getThreadCount()) .andBatchSize(v.getBatchSize()) .andInitialSegmentsCount(v.getInitialSegmentCount()); Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> messageSource = resolveMessageSource(applicationContext, v); eventProcessingConfigurer.registerTrackingEventProcessor(k, messageSource, c -> config); } else { if (v.getSource() == null) { eventProcessingConfigurer.registerSubscribingEventProcessor(k); } else { eventProcessingConfigurer.registerSubscribingEventProcessor(k, c -> applicationContext .getBean(v.getSource(), SubscribableMessageSource.class)); } } }); }