大前提
1、阿Sir,Zookeeper要开啊(Server、Client)
2、运行之前先在父工程的生命周期中,先clean下再install下(都在Maven中)
一、问题1:java.net.BindException: Address already in use: bind
1、前提
用的IDEA;
dubbo有Consumer和Provider,它们有各自的Tomcat,我们应该在各自项目的pom.xml中修改它们的Tomcat端口,使它们不同,但:
2、问题出现
可能你会困惑,明明修改了两Tomcat的端口都不一致了,为啥还出现Address already in use
3、原因
控制台报错:
[DUBBO] qos-server can not bind localhost:22222, dubbo version: 2.7.10
dubbo还有个QOS Server端口,默认为22222,俩Tomcat的QOS都用了这个端口,不冲突才怪嘞
4、解决方法
因此需要修改Consumer、Provider这两者之中至少一个项目的QOS Server端口,比如我修改Consumer的,在其有关于dubbo的配置文件(spring-dubbo)中添加如下内容:
<!-- dubbo_comsumer在dubbo的应用名称,更改qos服务端口为33333 -->
<dubbo:application name="dubboConsumer">
<dubbo:parameter key="qos.enable" value="true" />
<dubbo:parameter key="qos.accept.foreign.ip" value="false"