(十六)soul原始碼的自定義外掛程式

2021-10-18 16:45:23 字數 2305 閱讀 7814

首先需要實現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中存在該類時起效

@configuration

@conditionalonclass(aroundlogplugin.class)

public class aroundlogpluginconfiguration

}

spring cloud常用的註解的含義

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...