@Async @EventListener在Spring Boot 1.3.4 ++中停止工作

时间:2017-04-18 11:23:36

标签: java spring asynchronous spring-boot event-listener

我有一个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?

0 个答案:

没有答案