hi, all
when i use axon-spring 3.0-M1 with spring boot, the event listeners (EventHandler) do not be subscribed in event bus.
found the code as following :
public class MessageHandlerSubscriberDefinitionRegistrar implements ImportBeanDefinitionRegistrar {
@Override
public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {
MultiValueMap<String, Object> attributes = metadata
.getAllAnnotationAttributes(EnableHandlerSubscription.class.getName());
if (Boolean.TRUE.equals(attributes.getFirst("subscribeEventProcessors"))
>> Boolean.TRUE.equals(attributes.getFirst("subscribeEventListeners"))) {
final GenericBeanDefinition definition = new GenericBeanDefinition();
//definition.setBeanClass(EventListenerSubscriber.class);
final Object eventBusRef = attributes.getFirst("eventBus");
if (!"".equals(eventBusRef)) {
definition.getPropertyValues().add("eventBus",
new RuntimeBeanReference((String) eventBusRef));
}
registry.registerBeanDefinition("EventListenerSubscriber", definition);
}
if (Boolean.TRUE.equals(attributes.getFirst("subscribeCommandHandlers"))) {
final GenericBeanDefinition definition = new GenericBeanDefinition();
definition.setBeanClass(CommandHandlerSubscriber.class);
registry.registerBeanDefinition("CommandHandlerSubscriber", definition);
}
}
}
Configuration code in spring boot application as following: