Dubbo 提示:qos-server can not bind localhost:22222

今天在公司的测试服务器上部署两个springboot jar文件运行包,启动第一个springboot jar 正常,启动第二个springboot jar包时,提示如下错误信息:

 [DUBBO] qos-server can not bind localhost:22222, dubbo version: 2.7.1, current host: 192.168.238.1

java.net.BindException: Address already in use: bind

	at java.base/sun.nio.ch.Net.bind0(Native Method)

	at java.base/sun.nio.ch.Net.bind(Net.java:461)

	at java.base/sun.nio.ch.Net.bind(Net.java:453)

	at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)

	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:128)

	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:558)

	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1358)

	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:501)

解决办法:在dubbo:application 标签中禁用QoS,重新定义Qos 的端口,配置文件修改如下:

<!-- 提供方应用信息,用于计算依赖关系 -->
	<dubbo:application name="${dubbo.application.name}">
		<!-- 关闭qos -->
		<dubbo:parameter key="qos.enable" value="false" />
		<dubbo:parameter key="qos.accept.foreign.ip" value="false" />
		<!-- 设置端口 -->
		<dubbo:parameter key="qos.port" value="33333" />
	</dubbo:application>

什么是QoS?

Qos=Quality of Service,qos是Dubbo的在线运维命令,可以对服务进行动态的配置、控制及查询,Dubboo2.5.8新版本重构了telnet(telnet是从Dubbo2.0.5开始支持的)模块,提供了新的telnet命令支持,新版本的telnet端口与dubbo协议的端口是不同的端口,默认为22222,可以通过配置文件dubbo.properties修改。telnet 模块现在同时支持 http 协议和 telnet 协议,方便各种情况的使用。

 

QoS提供了一些启动参数,来对启动进行配置,他们主要包括:

参数说明默认值
qosEnable是否启动QoStrue
qosPort启动QoS绑定的端口22222
qosAcceptForeignIp是否允许远程访问false

 

现在测试环境上可以启动多个springboot jar包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值