Я хочу, чтобы обрабатывать несколько событий в одном классе, вот мой пример:Spring @EventListener аннотации не работают
@Lazy(false)
@Component
public class EventListenerImpl {
@EventListener
public void handleContextRefreshedEvent(ContextRefreshedEvent event) {
LOGGER.log(event.getSource());
...
}
}
Однако этот метод не выполняется, когда мой запуске приложения.
В моей applicationContext.xml
у меня есть:
<context:annotation-config/>
<context:component-scan base-package="..."/>
, который должен быть достаточно для @EventListener
работать, в соответствии с документацией.
Старый способ реализации ApplicationListener<ContextRefreshedEvent>
работает просто отлично.
Я использую Spring 4.2.4.RELEASE.
у вас есть '<контекст: аннотация привод />' в вашем XML? – Jens
@Jens Нет, но вместо этого у меня есть ' ', который должен быть достаточным в соответствии с документами: https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework /context/event/EventListener.html –
переименовать вас в метод 'handleContextRefreshed', см. здесь: https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2 – Jens