【小笔记】一种@Reference 注入为null的情况与排查过程

首先有很多情况导致会@Reference注入为null.所以在网上能看到各种各样的解决办法。
我这里排查的是应用部署成功,同一个包下面其它服务都能正确初始化,唯独一个服务TESTXXX无法初始化。
该服务的初始化结果日志为

<dubbo:reference singleton="true" interface="com.***.***.api.TESTXXX" 
uniqueServiceName="com.***.***.api.TESTXXX" generic="false" timeout="5000"
 id="com.***.***.api.TESTXXX" /> has been built.

可以看到该服务并没有生成dubbo代理,正常的应该是:

<dubbo:reference singleton="true" 
object="com.alibaba.dubbo.common.bytecode.proxy20@3f679ce" 
interface="com.***.***.api.TESTXXX" uniqueServiceName="com.***.***.api.TESTXXX"
 generic="false" timeout="5000" id="com.***.***.api.TESTXXX" /> has been built.

此时查看部署日志,在初始化结果日志上面有一个warn级别日志:

java.lang.reflect.InvocationTargetException: null
...
Caused by: java.lang.ClassNotFoundException: com.***.***.input.XXXInput

可以看到是类找不到,重新打包再部署服务就正常注册了。

这里要注意,如果你依赖的服务Service里面存在ClassNotFound,而你在本项目中又没有用到这个Class,那在启动过程中,并不会报错,应用也会正常部署。Dubbo对于这种情况也仅仅是打印一个Warning级别的日志而不会影响部署进程。这个日志很可能会淹没在大量的启动日志里面。导致看起来应用启动毫无问题,但是服务却不正常。

因此对于这类问题,可以考虑调整一下日志级别,然后查询关键日志条目的上下内容,也许能帮助我们发现蛛丝马迹。

排查OTA控制器升级失败的问题时,可以考虑以下几个方面: 1. 检查OTA服务管理应用程序是否正确配置和运行。确保OTA服务管理应用程序能够提供OTA固件升级功能,并且能够传递控制权给最新更新和有效的蓝牙LE应用程序。\[1\] 2. 检查OTA包的制作和下载过程。确保OTA包的制作过程正确,并且下载后点击升级时能够进入Recovery模式。可以参考相关文档和博客,了解OTA包制作和下载的具体步骤。\[2\] 3. 检查系统权限和目录设置。如果OTA应用程序没有系统权限,可能无法在/cache/recovery目录中创建command文件并写入命令,导致无法通过预定的方式重启机器并进入recovery模式。确保OTA应用程序具备必要的系统权限以及正确的目录设置。\[3\] 4. 检查网络连接和OTA服务器。确保设备能够正常连接到OTA服务器,并且能够下载和安装OTA升级包。检查网络连接是否稳定,并且确保OTA服务器正常运行。 5. 检查错误日志和错误信息。查看系统日志和错误信息,了解具体的错误原因和提示。根据错误信息进行排查和解决。 总结来说,排查OTA控制器升级失败的问题需要检查OTA服务管理应用程序的配置和运行情况,检查OTA包的制作和下载过程,检查系统权限和目录设置,检查网络连接和OTA服务器,以及查看错误日志和错误信息。根据具体情况进行排查和解决。 #### 引用[.reference_title] - *1* [ST-BlueNrg-lp蓝牙芯片OTA升级过程](https://blog.csdn.net/qq_38531460/article/details/122860589)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [OTA制作及升级过程笔记](https://blog.csdn.net/qq_31811537/article/details/85842762)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yue_hu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值