本文簡單紀錄使用Google開發的一個開源軟體元件的EventBus來發送和接收事件(event)

 

匯入Guava的Library

首先建立一個Maven project,在pom.xml中加入以下dependency

dependency.png

 

Event

這邊使用的event範例是ProductCreatedEvent

event.png

 

Event Handler

@Subscribe: 用以宣告處理函式,函式只允許一個參數,並且要是Event物件

EventHandler是當接收到event後,會做後續的處理

event handler.png

以範例程式來說,EventHandler的handle method收到event後,會將event存放在一個List中,並且印出對印的log

 

EventBus

最後寫一個單元測試,使用EventBus發送event,再進行確認是否Handler有作對應的處理

首先要先用EventBus的register註冊Handler物件

接著透過EventBus的post方法進行發送事件

最後就可以確認Handler是否有收到event,並且將event加入到List中

EventBus.png

 

Reference:

[1] https://tonylin.idv.tw/dokuwiki/doku.php/java:guava:eventbusbasicusage

[2] https://mvnrepository.com/artifact/com.google.guava/guava/30.0-jre

arrow
arrow

    Mark Zhang 發表在 痞客邦 留言(0) 人氣()