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(请参阅)。