依赖版本如下:
<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
已解决,dubbo的 port 不要配置 20880,要么比nacos端口8848大1000,要么干脆别配。
原回答者GitHub用户pakchoily
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。