在開發中,我們經常會遇到如下過程:比如使用者註冊後,會傳送郵件到使用者的註冊郵箱上,在spring中常用事件監聽機制來執行。以下為相關**。
1、首先自定義事件源。
private object source;
public devicestatusevent(object source)
@override
public object getsource()
}2、事件的發布物件
@component@slf4j
public springcontextholder()
}@override
}public static t getbean(classrequiredtype)
public static void clearholder() }}
}@override
public void destroy() catch (throwable var2)
}}
3、事件監聽(預設是同步的)
@component@override
system.out.println("事件監聽結果");
}}
4、進行呼叫
springcontextholder.publishevent(new devicestatusevent(camerastatus));
如果是使用非同步監聽的話,那麼除了第三步需要變動,其他不用變動。
方法:spring使用threadpooltaskexecutor來執行非同步任務,其實就是schedulingtaskexecutor,使用@enableasync註解@async註解實現非同步監聽事件的呼叫。
spring 事件監聽
用乙個簡單的例子來實現spring事件監聽的功能 這個例子主要功能是,記錄那些使用者是第一次登入系統,如果使用者是第一次登入系統,則呼叫spring的事件監聽,記錄這些使用者。主要用到的spring的類和介面有 這兩者構成了觀察者模式 observer 下面讓我們來看下實現 private stri...
spring 事件監聽
一 同步監聽 private string eater super source this.eater eater public string geteater 2 定義發布監聽事件服務 component public class publishservice public void publis...
Spring之事件監聽
spring的監聽事件模型應該是觀察者模式。本人專案裡的應用在process方法按日期同步某個庫的資料,在方法最後publish乙個event事件,這個事件用於後續同步過來的資料處理。事件處理採用了spring的監聽模型.這樣可以做到process方法與event可以非同步分離執行。注 這個事件模型...