Java Spring 4.2@EventListener将错过从@PostConstruct方法发布的事件

Java Spring 4.2@EventListener将错过从@PostConstruct方法发布的事件,java,spring,events,Java,Spring,Events,当@EventListener丢失从@PostConstruct发出的事件时,我遇到了一个有趣的问题 看一看 有一个ConfigurationPublisher bean在@PostConstruct方法中发出第一个事件。后续事件使用来自JDK的计时器实用程序每秒发出一次 还有两个事件侦听器。NewStyleReceiver使用@EventListener注释,OldStyleReceiver实现ApplicationListener接口 从App类运行main方法后,我们可以看到第一个事件仅由

@EventListener
丢失从
@PostConstruct
发出的事件时,我遇到了一个有趣的问题

看一看

有一个ConfigurationPublisher bean在
@PostConstruct
方法中发出第一个事件。后续事件使用来自JDK的计时器实用程序每秒发出一次

还有两个事件侦听器。NewStyleReceiver使用
@EventListener
注释,OldStyleReceiver实现ApplicationListener接口

从App类运行main方法后,我们可以看到第一个事件仅由OldStyleReceiver接收


如何通过
@EventListener
@PostConstruct
方法接收事件?

我想问题在于它使用注释,而您正在使用注释扫描。这两个都是组件,并且都被检测到。无法保证在加载组件之前已加载侦听器,在扫描bean以查找
@EventListener
之前,上下文必须已加载完所有bean(请参阅)。