通過配置xml或者註解的方式來使用dubbo的filter

最近在研究dubbo的權限驗證功能,這裏要用到dubbo的filter,於是在網上查詢有關資料,但各種版本的都有,遇到很多坑,

比如通過註解@Activate的方式來實現激活條件和時機(下面這段表示如果方法是服務提供者,就會先激活filter,等執行完filter以後才執行後面被調用的服務方法)

@Activate(group = "provider")
public class TestDubboFilter implements Filter {

	@Override
	public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
		System.out.println("TestDubboFilter1111111");
		Result result = null;
		result = invoker.invoke(invocation);
		return result;
	}

}

或者通過配置xml的方式

<dubbo:provider filter="testDubboFilter"></dubbo:provider>

其實這2中方式只要配一種就行了,不需要2種都配,有些文章不知道哪裏抄來的,竟然同時用了註解和xml配置的方式,把我帶進了坑裏。

最後,我總結一下dubbo用filter的幾個關鍵步驟

1.寫一個實現類繼承Filter接口

2.在這個類上面寫上註解@Activate(參數可以根據業務來自己定義)

3.在src/main/resources/METE-INF/dubbo/目錄下添加一個文件,文件名是com.alibaba.dubbo.rpc.Filter,這個是固定寫法,dubbo框架會到這個目錄裏查找這個文件的,這個文件裏把剛纔那個實現類的包名加類名寫進去,比如

testDubboFilter=com.test.filter.TestDubboFilter

4.在啓動類裏面別忘記掃描這個類的目錄@EnableDubbo(scanBasePackages = "com.test.filter")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章