Failed to bind NettyServer on /169.254.116.120:20880, cause: Failed to bind to: /0.0.0.0:20880解決方案


昨天在搭建dubbo+zookeeper項目時,兩次用同一個端口20880作為提供者,結果是端口號被占用。

網上得解決方法有很多:

方案1:是改dubboprovider.xml里端口號將20880改成別的端口比如如20881

方案2:直接關閉之前20880端口提供的服務,即重復使用20880

方案3:修改tomcat里server.xml里的屬性將

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">修改為:

<Host appBase="webapps" autoDeploy="false" deployOnStartup="false" name="localhost" unpackWARs="true">


但是以上方案都不太令我滿意,因為理論上同一個服務可以有多個提供者。於是去dubbo的官網尋找解決方法,還是找到了比較優雅的解決方式:

貼出截圖一張以供思考:

 

 所以接下來目的已經很明確——將provider.xml里port=20880屬性值修改為-1

<dubbo:protocol name="dubbo" port="-1"></dubbo:protocol>

 這樣可以解決同一個端口號占用的問題,而且同一個服務有多個提供者,再來一張效果圖:

 可以看到端口號的確是從20880開始遞增,不過還有一點需要思考,就是這么多端口自動生成,該如何維護。如果您有更好的觀點,歡迎補充>>>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM