前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dubbo consumer消费端启动报错java.lang.RuntimeException: [source error] not available in a static method: h

Dubbo consumer消费端启动报错java.lang.RuntimeException: [source error] not available in a static method: h

作者头像
MickyInvQ
发布2020-09-27 15:19:54
5260
发布2020-09-27 15:19:54
举报
文章被收录于专栏:InvQ的专栏InvQ的专栏

背景

java.lang.RuntimeException: [source error] not available in a static method: handlere

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

RPC调用过程

首先简单了解下RPC调用过程: 1、 服务消费方(client)调用以本地调用方式调用服务; 2、client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体(序列化); 3、client stub找到服务地址,并将消息(字节数组)发送到服务端; 4、server stub收到消息后进行解码(反序列化); 5、server stub根据解码结果调用本地的服务; 6、本地服务执行并将结果返回给server stub; 7、server stub将返回结果打包成消息并发送至消费方; 8、client stub接收到消息,并进行解码(反序列化) 9、消费方得到最终结果;

分析

上面的client stub可以简单理解为是客户端的动态代理生成的服务接口的代理类;

在这里插入图片描述
在这里插入图片描述

代理类的生成方式:在服务启动时,在Proxy.getProxy中使用javaassit动态生产接口

在这里插入图片描述
在这里插入图片描述

解决

根据实际使用场景,consumer中不会调用服务接口的static方法,就算调用也不需要使用代理,所以修改为在代理类不生成static的代理方法;

在这里插入图片描述
在这里插入图片描述

修改为:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • RPC调用过程
  • 分析
  • 解决
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档