我有一个Spring Boot 1.3.3的项目。
它有这段代码:
@Component
中的一种方法会生成一个事件
@EventListener(classes = StartNarrowingEvent.class)
public StartBindingEvent narrowOrpheus(StartNarrowingEvent event) {
return new StartBindingEvent(orpheus, event.getPingDelay());
}
另一个@Component
中的方法捕获了该事件
@EventListener(classes = StartBindingEvent.class)
@Async
public void startBinding(StartBindingEvent event) {
log.info("Start binding process");
orpheus = event.getOrpheus();
taskScheduler.scheduleWithFixedDelay(pingAndConnectRunner, event.getPingDelay());
}
这个在Spring Boot 1.3.3中工作,但是如果我升级到1.3.4或任何更新的版本(我用1.5.2测试并一分为1.3.4)就停止工作:事件听众永远不会被召唤。
该应用程序使用
注释@SpringBootApplication
@EnableScheduling
@EnableAsync
我挖掘了1.3.4的更改日志,但没有发现任何可疑之处;只升级到Spring 4.2.6(但 更改日志没有显示任何内容)。
改变了什么,我应该如何使用较新版本的Spring Boot对此进行编码,例如: 1.5.2?