开发者社区 > 云原生 > 正文

dubbo 3.1.1 先启动消费者,再启动服务者报错

依赖版本如下:

        <artifactId>spring-cloud-alibaba-dependencies</artifactId>
        <version>2021.0.4.0</version>

        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.11</version>

        <artifactId>spring-cloud-dependencies</artifactId>
        <version>2021.0.4</version>

        <artifactId>dubbo-bom</artifactId>
        <version>3.1.1</version>

        jdk使用17

服务提供者的yaml文件

#库存服务端口 server: port: 8021

#订单服务名称 spring: application: name: stock-service #配置nacos注册中心地址、用户名、密码 cloud: nacos: discovery: server-addr: http://localhost:8848/ username: nacos password: nacos namespace: test #配置为开发环境分组 group: dev

dubbo: application: #改为应用级的注册 register-mode: instance #配置使用tri作为RPC协议 protocol: name: tri port: 20880 #配置nacos为注册中心 registry: address: nacos://localhost:8848 username: nacos password: nacos parameters: namespace: test group: dev check: false consumer: check: false

使用nacos作为注册中心,如果先启动消费者,等消费者完全启动,再启动服务提供者,会报如下错误,不知道有办法解决吗?

java.lang.NullPointerException: Cannot invoke "io.netty.channel.Channel.localAddress()" because "this.channel" is null at org.apache.dubbo.remoting.transport.netty4.NettyPortUnificationServer.getLocalAddress(NettyPortUnificationServer.java:221) ~[dubbo-3.1.1.jar:3.1.1] at org.apache.dubbo.remoting.transport.AbstractServer.(AbstractServer.java:75) ~[dubbo-3.1.1.jar:3.1.1] at org.apache.dubbo.remoting.api.pu.AbstractPortUnificationServer.(AbstractPortUnificationServer.java:46) ~[dubbo-3.1.1.jar:3.1.1]

原提问者GitHub用户pakchoily

展开
收起
大圣东游 2023-05-11 16:39:35 244 0
1 条回答
写回答
取消 提交回答
  • 已解决,dubbo的 port 不要配置 20880,要么比nacos端口8848大1000,要么干脆别配。

    原回答者GitHub用户pakchoily

    2023-05-12 10:29:34
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Dubbo开源现状与2.7规划 立即下载
Dubbo分布式服务治理实战 立即下载
《Dubbo 3.0 前瞻》 立即下载