@Bean public EventDispatcherInitializer eventDispatcherInitializer(EventHandlerProcessor[] processors, EventuateAggregateStore aggregateStore, SubscriptionsRegistry subscriptionsRegistry) { return new EventDispatcherInitializer(processors, aggregateStore, Executors.newCachedThreadPool(), subscriptionsRegistry); }
@Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { EventSubscriber a = AnnotationUtils.findAnnotation(bean.getClass(), EventSubscriber.class); if (a != null) eventDispatcherInitializer.registerEventHandler(bean, beanName); return bean; }
throw new RuntimeException("No handlers defined for this class" + beanClass); Map<String, Set<String>> aggregatesAndEvents = makeAggregatesAndEvents(handlers.stream() .filter(handler -> !handler.getEventType().equals(EndOfCurrentEventsReachedEvent.class)).collect(toList())); Map<Class<?>, EventHandler> eventTypesAndHandlers = makeEventTypesAndHandlers(handlers);
.collect(toList()); Map<String, Set<String>> aggregatesAndEvents = makeAggregatesAndEvents(handlers.stream() .filter(handler -> !handler.getEventType().equals(EndOfCurrentEventsReachedEvent.class)).collect(toList())); Map<Class<?>, EventHandler> eventTypesAndHandlers = makeEventTypesAndHandlers(handlers);
@Bean public EventDispatcherInitializer eventDispatcherInitializer(EventHandlerProcessor[] processors, EventuateAggregateStore aggregateStore, SubscriptionsRegistry subscriptionsRegistry) { return new EventDispatcherInitializer(processors, aggregateStore, Executors.newCachedThreadPool(), subscriptionsRegistry); }
@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { Class<?> actualClass = AopUtils.getTargetClass(bean); EventSubscriber a = AnnotationUtils.findAnnotation(actualClass, EventSubscriber.class); if (a != null) eventDispatcherInitializer.registerEventHandler(bean, beanName, actualClass); return bean; } }