最近新來的同事對dubbo原理不太熟悉,特此寫幾篇文章,介紹如何分析dubbo原始碼,要看懂dubbo原始碼,還是要先弄懂幾個知識點的,spring的schema自定義擴充套件功能就是其中要掌握的知識點之一;
dubbo採用全spring配置方式,透明化接入應用,對應用沒有任何api侵入,只需用spring載入dubbo的配置即可,dubbo基於spring的schema擴充套件進行載入。
這裡就要先說一下spring的schema自定義擴充套件的功能了,了解spring的人都會知道,spring配置檔案中有很多標定義如:,我們在配置bean時,按照bean語法規則配置即可,spring就能解析這個元素,原理呢這裡不在詳述, 本文重介紹,在dubbo中是如何應用spring提供了的schema擴充套件機制的,spring是如何識別,,,等使用者自定義的xml標籤元素的.
如果讓spring識別自動義xml標籤,需要我們自己實現以下幾步:
自定義 xsd schema 檔案;
編寫乙個我們自己的 bean;
繼承namespacehandlersupport 重寫init()方法,這塊方法作用是spring容器載入入口;
繼承abstractsinglebeandefinitionparser類,重寫getbeanclass,doparse方法, 這是解析xml元素的實現類;
新建meta-inf目錄,建立spring.handlers,spring.schemas兩個檔案,這兩個檔案的作用就是讓spring知道,怎麼解析使用者自定義的元素,用什麼去解析這些元素;
下面是實現的例子:
1.serviceconfig.xsd
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
ip埠
zepto原始碼知識點
記錄看原始碼時候不太了解的知識點 matchesselector element.matches element.webkitmatchesselector element.mozmatchesselector element.omatchesselector element.matchessele...
JFinal 原始碼知識點
1 jfinal中自帶json工具類,沒必要匯入其他的轉化包。使用 setattr status success renderjson 會將所有setattr 的,轉化成json格式。2 kit包中定義了一些工具類的擴充套件 例如 1 轉化json的工具 jsonkit.tojson str 2 加...
Dubbo知識點梳理
dubbo是阿里的乙個產品。是乙個分布式 高效能 透明化的rpc服務框架,提供服務自動註冊 自動發現等高效服務治理方案。dubbo是實現soa架構時常用的服務之一,除了dubbo外還有如下可供選擇 製作相容jdk1.8的dubbo admin 實現soa架構時常用的服務 dubbo作為服務 webs...