javascript
Spring @EventListener 异步中使用condition的问题
@EventListener是spring在4.2+推出的更好的使用spring事件架構(gòu)的方式,并且異步方式也很好設(shè)定
但是在spring4.2.7版本上使用eventlistener的condition 的使用需要注意以下情況可能失效:
condition?使用例子如@EventListener(condition?=?"#event.isAsync")
?
1. 需要對同一個事件進行區(qū)分同步異步
2. 使用condition來進行過濾
例如:需要對事件用condition進行區(qū)分同步異步
@Async
@EventListener(condition?=?"#event.isAsync")
public?void?handleOrderCreatedEventAsync(TestEvent event)?{ ?
} ?
?
@EventListener(condition?=?"#event.isAsync == false")
public?void?handleOrderCreatedEvent(TestEvent event)?{ ?
} ?
?
修正的做法,是使用兩個事件區(qū)分即:
@Async
@EventListener
public?void?handleOrderCreatedEventAsync(TestEventAsync event)?{ ?
} ?
?
@EventListener
public?void?handleOrderCreatedEvent(TestEvent event)?{ ?
} ?
?
還不清楚,在更高的版本上是否已經(jīng)有進一步的修正,待以后研究
轉(zhuǎn)載于:https://www.cnblogs.com/tyoyi/p/8028717.html
總結(jié)
以上是生活随笔為你收集整理的Spring @EventListener 异步中使用condition的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看Linux系统版本的几种方法
- 下一篇: spark rdd Transforma