dubbo报错 Failed to invoke the method ...

背景:有2个微服务,一个是house服务,一个是pms服务,通过dubbo远程调用。

现在在pms服务中的OrderService下新增了一个List<OrderChildVo> getOrderChildList(OrderParam param)方法,版本号升为2.0.3。

需要在house服务中调用pms中新加的这个getOrderChildList方法。

 

遇到的问题:报错 Failed to invoke the method getOrderChildList ...... NullPointerException

 

排查过程:1.检查house中对pms依赖的版本号是2.0.3

2.pms的生产者配置文件中,把OrderService发布出去了。house中的消费者配置文件中,也订阅了OrderService。也都有配置Group。

3.house中用到那个服务的类中,用@Resource注解注入了OrderService

4.登录dubbo客户端,生产者中看到getOrderChildList这个方法已经正常提供服务了。消费者列表中house的订阅也正常订阅着getOrderChildList这个方法。还重启了一下zookeeper

5.在house中调用了另外一个原来存在的旧方法OrderService.getOrderListByCondition(),发现不报错,可以正常使用。通过这一步就可以确定,问题就出在getOrderChildList这个方法本身。

 

最终问题所在:最后发现其实是这个方法的返回值的那个实体类OrderChildVo没有实现序列化接口Serializable导致的

posted @ 2021-11-17 18:41  LisaJ  阅读(1052)  评论(0编辑  收藏  举报