码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2020-03-29 12:56:09      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:结果   ack   关闭   解决   ons   好的   被占用   false   解决方法   

昨天在搭建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开始递增,不过还有一点需要思考,就是这么多端口自动生成,该如何维护。如果您有更好的观点,欢迎补充>>>

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

标签:结果   ack   关闭   解决   ons   好的   被占用   false   解决方法   

原文地址:https://www.cnblogs.com/timingstarts/p/12591397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!