2025年sprang cloud alibaba dubbo docker 环境下问题

sprang cloud alibaba dubbo docker 环境下问题1 异常描述 sprang cloud alibaba nacos dubbo 部署在 doker 环境 在重启服务后 dubbo 接口无法使用 报错 No provider available for the service 问题环境 pom Spring Boot dependency dependency

大家好,我是讯享网,很高兴认识大家。

 

1.异常描述

sprang cloud alibaba nacos + dubbo 部署在doker环境,在重启服务后dubbo接口无法使用,报错No provider available for the service

问题环境

pom

 <!-- Spring Boot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.2.5.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!--spring-cloud版本管理--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.1.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>

讯享网


讯享网

docker 配置

讯享网docker run -d --name orderServer --network=host

 

 

2. 异常分析

在服务停止时出现了以下异常

2020-09-17 16:52:04.135 [] [DubboShutdownHook] INFO org.apache.dubbo.registry.nacos.NacosRegistry - [DUBBO] Destroy unsubscribe url consumer://172.18.0.1/com.demo.service.OrderDubboService?application=pay-server&category=providers,configurators,routers&check=false&dubbo=2.0.2&init=false&interface=com.demo.service.OrderDubboService&methods=getOperationLogList,orderSave,getDetail,getTotalNumByParam,infoList,getExportList,list&pid=1&qos.enable=false&release=2.7.6&retries=-1&revision=1.1.0.RELEASE&side=consumer&sticky=false&timestamp=92&version=1.0.0, dubbo version: 2.7.6, current host: 172.18.0.1 Exception in thread "DubboShutdownHook" java.lang.RuntimeException: java.util.ConcurrentModificationException at org.apache.dubbo.common.function.ThrowableAction.execute(ThrowableAction.java:48) at org.apache.dubbo.common.lang.ShutdownHookCallbacks.lambda$callback$0(ShutdownHookCallbacks.java:70) at java.lang.Iterable.forEach(Iterable.java:75) at org.apache.dubbo.common.lang.ShutdownHookCallbacks.callback(ShutdownHookCallbacks.java:70) at org.apache.dubbo.config.DubboShutdownHook.callback(DubboShutdownHook.java:85) at org.apache.dubbo.config.DubboShutdownHook.run(DubboShutdownHook.java:73) Caused by: java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437) at java.util.HashMap$ValueIterator.next(HashMap.java:1466) at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042) at org.apache.dubbo.registry.support.AbstractRegistryFactory.destroyAll(AbstractRegistryFactory.java:85) at org.apache.dubbo.config.DubboShutdownHook.destroyAll(DubboShutdownHook.java:128) at org.apache.dubbo.config.bootstrap.DubboBootstrap.destroy(DubboBootstrap.java:1039) at org.apache.dubbo.config.bootstrap.DubboBootstrap$1.callback(DubboBootstrap.java:191) at org.apache.dubbo.common.function.ThrowableAction.exe

判断可能是dubbo服务连接没有正常关闭,导致连接没有断开重启之后出现访问不到的情况

 

然后就百度了下docker 环境下dubbo 如何优雅的关闭

1,使用

讯享网kill -15

2,在Dockerfile修改java 启动的命令

CMD ["java","-jar","-Duser.timezone=GMT+08","user.jar"]

还是会出现

 

最后尝试升级dubbo版本

spring-cloud-alibaba由2.2.1.RELEASE升级为2.2.2.RELEASE问题解决

spring-cloud-alibaba内置dubbo版本由2.7.6升级为2.7.8

讯享网 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>

 

小讯
上一篇 2025-03-13 09:42
下一篇 2025-01-18 21:23

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126216.html