当前位置: 首页> 游戏> 评测 > 成都专业的网站建站公司_小程序定制开发传智科技_今日热点新闻排行榜_广告推广计划

成都专业的网站建站公司_小程序定制开发传智科技_今日热点新闻排行榜_广告推广计划

时间:2025/8/3 17:03:49来源:https://blog.csdn.net/typeracer/article/details/143116627 浏览次数:0次
成都专业的网站建站公司_小程序定制开发传智科技_今日热点新闻排行榜_广告推广计划

目录

问题

排查

解决


问题

工作中的项目远程调用技术使用的是 dubbo,在一次需求中,在自己负责的模块中提供了一个  dubbo 接口给其他模块调用,在提测前需要自测一下接口是否能够调通,功能是否正常。所以在本地自测时,就是简单写了一个测试接口,然后使用 @DubboReference 来注入依赖,启动服务后本地调一下测试接口,看看是否能正常执行就完事了。

然而启动容器却失败了,报【Injection of @DubboReference dependencies is failed

排查

从报错的语句上来看,就是注入 @DubboReference 注解修饰的依赖失败了,所以才导致了 Spring 容器启动失败了,但是仅知道这个是没有办法解决问题的。

一般遇到错误信息,可以顺着输出的日志继续往下找日志输出,绝大多数时候都能够找到报错误的根本原因,以本文例子为例,顺着【Injection of @DubboReference dependencies is failed】继续往下看日志输出,就能够看到【nested exception is org.apache.dubbo.rpc.RpcException: Fail to start server(url: dubbo:\/\/xxx.xxx.xxx.xxx:21876】的日志输出。

这下就清楚了,其实就是项目启动时启动 dubbo 服务失败了,无非就是被占用了端口号。估计就是之前在本地 debug 时频繁重启项目,某一次关闭服务时不够优雅,就导致了 dubbo 服务并没有被关闭,所以在下一次启动时就会出现端口被占用的情况,导致服务启动失败。

解决

window 开发中,直接打开命令行

通过 netstat 来查找对应端口号的进程ID

netstat -ano |findstr "端口号"

本文例子的错误,端口号就是 21876

netstat -ano |findstr "21876"

找到 dubbo 服务对应的进程ID "6432"

通过 taskkill 来强制结束进程即可

taskkill /f /t /pid "进程ID"

执行删除进程命令

taskkill /f /t /pid "6432"

这样再次启动就能够成功启动服务了 

关键字:成都专业的网站建站公司_小程序定制开发传智科技_今日热点新闻排行榜_广告推广计划

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: