1、dubbo從入門到放棄 dubbo-admin本地編譯打包
因為zookeeper只是一個黑框,我們無法看到是否存在了什麼提供者或消費者,這時就要藉助Dubbo-Admin管理平臺來實時的檢視,也可以通過這個平臺來管理提者和消費者。
dubbo-admin.war強烈建議自己編譯一個,網上找的基本都不行,試了很多個,最後還是自己來搞,編譯的過程如下,一定在安裝maven和jdk!
dubbo的所有原始碼可在https://github.com/alibaba/dubbo上下載。下好之後解壓
解壓後的檔案內容,進入dubbo-admin.
通過cmd進入dubbo-admin目錄,輸入命令
然後輸入命令
mvn package -Dmaven.skip.test=true
這裡要自己把maven的環境變數配置好,這裡的-Dmaven.skip.test表示不打包測試包。然後結果如下,表示打包成功
再開啟專案的檔案所在位置:E:\下載\dubbo-master\dubbo-master\dubbo-admin\target
target表示構建的本地路徑,開啟,裡面有個檔案dubbo-admin-2.5.4-SNAPSHOT.war表示打包成功,這個檔案得放在Tomcat下才能執行
1.2、dubbo-admin安裝
dubbo-admin已打包成功,接下來就容易很多了
1. 安裝
將 dubbo-admin-2.5.4-SNAPSHOT.war 拷入 tomcat webapps中
2. 配置
修改tomcat的埠8088,修改方法如下,打到conf下的檔案 server.xml,因為zookeeper會用到8080的埠,所以為了不衝突,把Tomcat的埠改一下。記得一定要改!!
然後修改
3、啟動一下Tomcat,讓它把war解壓了發現webapp下多了一個資料夾
再把 Tomcat給關了
4、修改dubbo.properties
進入apache-tomcat-7.0.62\webapps\dubbo-admin-2.5.4-SNAPSHOT\WEB-INF
是否是如下內容
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
如果是,就不用改,這裡的127.0.0.1對應的是自己的電腦IP,因為這裡zookeeper也在自己電腦上,所以要這麼寫才行。一般情況下都是不需要改的,因為初始都是本地的IP地址。但還是看看比較安全
5. 訪問:
這下全部都配置好了,首先,一定要先啟動zookeeper啟動後再去啟動tomcat!一定要先啟動zookeeper啟動後再去啟動tomcat!一定要先啟動zookeeper啟動後再去啟動tomcat!重要的事情三遍!
啟動zookeeper
啟動tomcat
訪問http://localhost:8088/dubbo-admin-2.5.4-SNAPSHOT/ 一定要注意名一定要和你webapp下的工程名一樣!!
如果啟動過程中報以下錯誤請參考我的另一篇文章 dubbo 2.5.4 在JDK8下啟動錯誤
嚴重: Exception sending context initialized event to listener instance of class com.alibaba.citrus.webx.context.WebxContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'uriBrokerService': Cannot create inner bean '(inner bean)' of type
[com.alibaba.citrus.service.uribroker.impl.URIBrokerServiceImpl$URIBrokerInfo]
while setting bean property 'brokers' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name '(inner bean)#25': Cannot create inner bean 'server' of type
[com.alibaba.citrus.service.uribroker.uri.GenericURIBroker] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'server': Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]: Bean property 'URIType' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)