今天遇到了调试了很久的bug,最后发现是个小问题,报异常如下:

Failed to meta-introspect annotation interface org.springframework.web.bind.annotation.RequestBody: java.lang.NullPointerException

log4j给出了空指针的提示,又观察到跟注解RequestBody有关,疑似josn转对象失败,造成空指针异常,但自己在代码块中打印出了转换对象的属性

然而在网页开发者工具中发现请求成功

在debug过程中发现,json转换的对象其实是成功的,空指针其实指的是服务接口

转而目标点从请求传送对象转到服务中来,应该是zookeeper和dubbo的问题,使用zookeeper的客户端连接后查看后发现,确实是缺少消费者(consumers)服务的注册,那么问题一定出现在消费者服务的逻辑中

缺少消费者服务的注册,反复观察代码逻辑没有任何问题,springmvc.xml中的配置也没有问题,经过仔细观察,最终发现是注解Refence引用的不对,应该引用的是dubbo的注解
错误代码

import jdk.nashorn.internal.ir.annotations.Reference;//引用错误,应该引用dubbo的Refence注解
...
@Reference //dubbo的注解,去zookeeper服务注册中心去查找CheckItemService这种接口的服务,封装到对象中
private CheckItemService checkItemService;

正确逻辑

import com.alibaba.dubbo.config.annotation.Reference;//正确引用
...
@Reference //dubbo的注解,去zookeeper服务注册中心去查找CheckItemService这种接口的服务,封装到对象中
private CheckItemService checkItemService;

再次进行发布(maven工程最好clean install一下)测试


测试成功,希望能帮助到问题和我一样的朋友,报错信息有点误导,需要自己经过调试发现问题,总结一下调试思路:

  1. 先看网页端的请求是否成功,用开发者工具,看前端控制台报错信息以及网络流,排除前端错误
  2. 再根据后台报错信息,通过debug调试定位信息,排除逻辑错误
  3. 检查配置文件信息,各种url、path等,尤其看spring是否开启包扫描
  4. 通过服务器的命令,排查服务是否进程出错,或者服务并没有注册上,通过工程全关闭,逐个开启观察的方式,定位出问题的模块
  5. 是否是同名类包引入错误(此步应该在编写逻辑的时候注意到)

Failed to meta-introspect annotation interface org.springframework.web.bind.annotation.RequestBody:相关推荐

  1. Java-API-Package:org.springframework.web.bind.annotation

    ylbtech-Java-API-Package:org.springframework.web.bind.annotation 1.返回顶部 1. @NonNullApi @NonNullField ...

  2. swagger使用报错:No enum constant org.springframework.web.bind.annotation.RequestMethod.Get

    参考:https://blog.csdn.net/qq_35623773/article/details/84898578 报错 No enum constant org.springframewor ...

  3. IDEA 程序包org.springframework.web.bind.annotation不存在

    https://www.cnblogs.com/kylinyang/p/13121779.html

  4. org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert val

    org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert val ...

  5. 报错,null [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException,Failed to con

    问题: {     "success": false,     "code": "S0000",     "error" ...

  6. Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException

    废话不多说 上报错 Resolved [org.springframework.web.method.annotation. MethodArgumentTypeMismatchException: ...

  7. org.springframework.web.bind.MissingRequestHeaderException: Missing request header ‘token‘ for metho

    org.springframework.web.bind.MissingRequestHeaderException: Missing request header 'token' for metho ...

  8. android studio 初始化必备控件 > Failed to notify project evaluation listener. > javax/xml/bind/annotation/

    目录 android studio 初始化必备控件 > Failed to notify project evaluation listener. > javax/xml/bind/ann ...

  9. org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved

    场景: spring项目中无法访问到对应controller,查看日志,没有报错,只有warnring: org.springframework.web.servlet.handler.Abstrac ...

最新文章

  1. 【Codeforces】808D Array Division(前后两部分和相等)
  2. 无人驾驶定位与贝叶斯滤波
  3. java提高篇之数组(2)
  4. ORACLE使用WITH AS和HINT MATERIALIZE优化SQL解决FILTER效率低下
  5. html的document操作
  6. 六级词汇打卡第二天(二)
  7. linux删除一个root权限管理,linux – 允许非root用户删除缓存
  8. Oracle数据库对象 序列
  9. Exchange2013 企业部署解决方案-Part 2
  10. js打印线程id_理解Python多线程:通过易懂的小例子展开第一篇
  11. 声笔飞码6.00版使用指南
  12. [转载] C#开发实战1200例(第I卷)目录
  13. Jeanjack旗舰店 “Jeanjack官网   Jeanjack男装”
  14. canvas实现一个线性图
  15. java debug dll_JavaDebug.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  16. mount error(112): Host is down 故障解决
  17. Docker启动Elastic Search报错 ERROR: [1] bootstrap checks failed
  18. 什么是DNS劫持?如何进行有效应对?
  19. 微信小程序微信支付《JSAPI支付》APIV3详细教程
  20. xd怎么做页面滑动_XD教程 | 如何在XD中制作拖拽手势”

热门文章

  1. bzoj 3611: [Heoi2014]大工程(虚树+树形DP)
  2. bzoj 3441: 乌鸦喝水(说实话有生之年没有见过这么难的模拟)
  3. 解决MySQL无法正常启动的问题 Can't connect to MySQL server on 'localhost'(10061)
  4. js排序算法详解-选择排序
  5. 【转载】asp.net core 入门
  6. 使用vue完成一个分页效果
  7. Cocos Creator 的实现拖尾效果
  8. DirectUI的初步分析-转
  9. QTcpSocket 发送数据的几种方法
  10. FreeMarker 基础语法教程