ctk一共有三種事件可以監聽:框架事件、外掛程式事件、服務事件。但是這些事件只有再變化時才能監聽到,如果已經變化過後,進入乙個穩定的狀態,這時才去監聽,那麼是無法監聽到的。
1、監聽介面
主要是ctkplugincontext提供的三個函式:
2、如何使用
可以新建乙個專門的服務,專門用於監聽ctk的事件變化;也可以依附於某個特定的服務【如日誌服務】,當事件變化後就使用事件資訊
3、**
這裡以在日誌服務裡繫結事件的監聽,在日誌實現類建構函式【或者啟用類中】:
logservice::logservice(ctkplugincontext*context)注意:最後乙個服務事件connectservicelistener是比較奇怪的,它的原型是這樣:context(context)
但是第二個引數就只能是個槽函式的字串,試過slot(..)的形式,但是報錯了,注意一下就行。
4、執行現象
ps:①、框架事件
針對整個框架的,相當於只有乙個,因為框架只有乙個,但是這裡有個問題,就是監聽這個事件是在框架初始化之後的,所以根本沒法監聽到框架事件的初始化,只能監聽到結束的事件。
型別有
framework_started②、服務事件plugin_error
plugin_warning
plugin_info
framework_stopped
framework_stopped_update
framework_wait_timedout
在建立、**外掛程式時的事情,主要體現在服務的註冊和登出
型別有
registered③、外掛程式事件modified
modified_endmatch
unregistering
在安裝、啟動外掛程式的過程中呈現的,主要就是外掛程式的乙個狀態的變化
型別有
installedps:在實際使用中發現很多事件沒有發出來resolved
lazy_activation
starting
started
stopping
stopped
updated
unresolved
uninstalled
spring 事件監聽
用乙個簡單的例子來實現spring事件監聽的功能 這個例子主要功能是,記錄那些使用者是第一次登入系統,如果使用者是第一次登入系統,則呼叫spring的事件監聽,記錄這些使用者。主要用到的spring的類和介面有 這兩者構成了觀察者模式 observer 下面讓我們來看下實現 private stri...
Redis 事件監聽
需求 要統計乙個頁面的訪問人數,如果訪問量大時,頻繁讀寫資料庫,而且操作的是同乙個資料,可能會對效能造成影響。解決 把資料放在快取中,定期和資料庫同步,設定容器關閉 關閉容器前,將資料同步到資料庫。現在系統中快取用的是redis。redis一般的應用是提供查詢效率,很少更新,更新也是直接更新資料庫,...
SpringBoot事件監聽
springboot事件監聽機制 spring boot在啟動過程中增加事件監聽機制,為使用者功能拓展提供極大的便利。springboot支援四種事件監聽型別 spring boot啟動開始時執行的事件 spring boot 對應enviroment已經準備完畢,但此時上下文context還沒有建...