Spring之事件監聽

2021-07-23 08:42:43 字數 1065 閱讀 3285

spring的監聽事件模型應該是觀察者模式。本人專案裡的應用在process方法按日期同步某個庫的資料,在方法最後publish乙個event事件,這個事件用於後續同步過來的資料處理。事件處理採用了spring的監聽模型.這樣可以做到process方法與event可以非同步分離執行。(注:這個事件模型預設使用synctaskexecutor來執行listener的註冊event,所有該listener註冊的event事件為

同步執行的)。

當然,spring的這個機制還有很多應用的場景,就不一一枚舉了。

事件抽象類,裡面只有乙個建構函式和乙個timestamp。

removealllisteners,以及通知監聽註冊事件event:

event);

上面說到的publishevent方法即使用了multicastevent方法

.hasnext();)

public firstloginuserevent(object source, string loginname)

public string getloginname()

public void setloginname(string loginname)

}@service("firstloginuserlistener ")

private static log log = logfactory.getlog(firstloginuserlistener.class);

if (event instanceof firstloginuserevent)else

}     

}3 發布事件

@service("userservice ") }

public void decideuser(int num,string loginname)else}}

當我們發布事件的時候,我們的***就會對這個事件進行監聽。

在有些情況下,比如記錄某個特殊操作的日誌,可以用spring的事件監聽來記錄日誌,也可以用spring的aop來做,那麼它們之間有什麼區別呢? spring事件監聽,是以非同步方式來操作的,而aop是同步的。這兩種方式那個好呢?就得具體情況具體分析了。

javascript之事件監聽

addeventlistener是乙個監聽事件並處理相應的函式。不囉嗦,直接上 如 js部分 body部分 注意 addeventlistener 方法,有3個引數。第乙個引數是說明監聽的事件型別 如 click,注意不要字首on 第二個引數是事件執行的函式或方法,第三個引數則指定事件是否在捕獲或冒...

javascript之事件監聽

addeventlistener是乙個監聽事件並處理相應的函式。不囉嗦,直接上 如 js部分 body部分 注意 addeventlistener 方法,有3個引數。第乙個引數是說明監聽的事件型別 如 click,注意不要字首on 第二個引數是事件執行的函式或方法,第三個引數則指定事件是否在捕獲或冒...

javascript之事件監聽

addeventlistener是乙個監聽事件並處理相應的函式。不囉嗦,直接上 如 js部分 body部分 注意 addeventlistener 方法,有3個引數。第乙個引數是說明監聽的事件型別 如 click,注意不要字首on 第二個引數是事件執行的函式或方法,第三個引數則指定事件是否在捕獲或冒...