首先需要實現org.dromara.soul.plugin.api.soulplugin首先需要繼承org.dromara.soul.plugin.base.abstractsoulplugin由於單一職責外掛程式不需要流量控制,所以不需要外掛程式開關,只在請求的執行鏈路裡做一些處理,比如globalplugin外掛程式根據原始請求資訊構造soulcontext物件,webclientplugin外掛程式向真實業務例項傳送http請求等。關鍵把soul-plugin-api新增依賴soul-plugin
org.dromara
2.2.1
4.0.0
soul-plugin-around-log
org.dromara
soul-plugin-api
$ org.dromara
soul-common
$ org.springframework
spring-test
test
io.projectreactor
reactor-test
test
執行execute方法,把時間設定到上下文中,然後列印開始日誌,然後通過mono.then方法,列印結束日誌,通過exchange上下文統計鏈路執行耗時。.then:是在其他責任鏈都執行完後,才會執行操作
注意:@conditionalonclass(aroundlogplugin.class) 要加上,不然外掛程式不能初始化,@conditionalonclass : classpath中存在該類時起效
spring cloud常用的註解的含義@configuration
@conditionalonclass(aroundlogplugin.class)
public class aroundlogpluginconfiguration
}
mybatis原始碼分析 自定義外掛程式
mybatis在四大元件 execurot,statementhandler,parameterhandler,resultsethandler 處提供了簡單易用的外掛程式擴充套件機制。mybatis支援對四大核心物件進行攔截,對mybatis來說外掛程式就是 用來增強核心物件功能,增強功能的本質上...
soul原始碼閱讀(十)soul所有外掛程式介紹續
目錄 hystrix外掛程式 sentinel外掛程式 resilience4j外掛程式 monitor外掛程式 waf外掛程式 sign外掛程式 rewrite外掛程式 global外掛程式 webclient外掛程式 webclientresponse外掛程式 tars外掛程式 總結 上篇已介紹...
soul原始碼閱讀(九)soul所有外掛程式介紹
目錄 soul所有外掛程式列表 介紹每個外掛程式 context path外掛程式 divide外掛程式 dubbo外掛程式 springcloud外掛程式 sofa外掛程式 ratelimiter外掛程式 什麼是context path,就是使用者每次用乙個url訪問soul閘道器的時候,會根據c...