re: Spring之事件監(jiān)聽 阮步兵 2010-09-01 21:24
SimpleApplicationEventMultucaster確實采用的是SyncTaskExecutor同步executor,也就是說SimpleApplicationEventMultucaster的listener都是同步執(zhí)行。當一個listener有多個事件需要處理時,同步執(zhí)行。
re: Spring之事件監(jiān)聽 阮步兵 2010-09-01 11:43
@@joe
一個任務里面,比如包括上傳文件和數(shù)據(jù)處理,如果文件不必立刻相應給客戶,可以通過事件監(jiān)聽的方式來實現(xiàn)。另外,業(yè)務流程中有郵件處理以及日志處理的,都可以在主流程結(jié)束后執(zhí)行,可以選擇事件監(jiān)聽方式處理。
re: Spring之事件監(jiān)聽 阮步兵 2010-09-01 11:41
getTaskExecutor().execute(new Runnable() {
public void run() {
listener.onApplicationEvent(event);
}
});
以上是SimpleApplicationEventMultucaster的部分代碼,它選擇的是new Runnable來執(zhí)行l(wèi)istener