dubbo接口调试

介绍了可在命令行直接调用dubbo服务,此方法能方便地模拟dubbo请求,用于进行断点测试,为信息技术领域的测试工作提供了便利。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dubbo服务telnet命令

在命令行直接调用dubbo,方便模拟dubbo请求,进行断点测试

参数是json格式
	如果类型是set或list
		示例: invoke com.test.DemoService.query([1,2])
处理enum	
	invoke com.market.manageclient.module.discount.DiscountReadService.getDiscountItemByShop(5523,"Taobao")
		其中"Taobao" 对应ThirdPartyPlatform.Taobao

telnet localhost 20880 
	连接到本地的dubbo telnet端口,然后执行invoke xx 	
			
示例: invoke com.test.DemoService.queryDemoPageList({"id":"100"}, 1, 2)
示例2: invoke com.shandiangou.market.open.api.DeliveryPromotionQueryService.query({"shopIds":[5523],"specialPriceIds":[10088]} )

error list
	 1. java.lang.ClassCastException: java.util.HashMap cannot be cast to

		说明:如果参数中有List<T>,传入jsonArrStr会报错

		解决方法:  InvokeTelnetHandler 中第95行改下
		   原来: Object[] array = PojoUtils.realize(list.toArray(), invokeMethod.getParameterTypes());
		   改为:Object[] array = PojoUtils.realize(list.toArray(), invokeMethod.getParameterTypes(), invokeMethod.getGenericParameterTypes());
			2.4.9和2.5.3 这两个版本,这个类文件代码完全相同

			可以直接把修改后的文件放到项目中,这个是telnet dubbo才会用,所以可以直接发布
				对于多module项目,放到web module中,避免子module被打成jar包,造成加载顺序的不确定
Doe 发布 [V1.0.0] 前段时间排查某问题的时候,想要快速知道某些dubbo接口(三无)的响应结果,但不想启动项目(因为这些项目不是你负责的,不会部署而且超级笨重),也不想新建一个dubbo客户端项目(占地方),也不想开telnet客户端连接口(麻烦而且有限制)。所以扣了dubbo的netty模块源码,封装了个收发客户端集成一个工具,可以快速调试dubbo接口。源码地址:https://github.com/VIPJoey/doe 极简模式 普通模式 目录结构 mmc-dubbo-api 接口项目,主要用于测试。 mmc-dubbo-provider dubbo提供者项目,主要用于测试。 mmc-dubbo-doe 主项目,实现dubbo接口调试。 deploy 部署文档 功能特性 极简模式:通过dubbo提供的telnet协议收发数据。 普通模式:通过封装netty客户端收发数据。 用例模式:通过缓存数据,方便下一次操作,依赖普通模式。 增加依赖:通过调用maven命令,下载jar包和热加载到系统,主要用来分析接口方法参数,主要作用在普通模式。 依赖列表:通过分析pom文件,展示已经加载的jar包。 其它特性 springboot 整合 redis,支持spring el 表达式。 springboot 整合 thymeleaf。 springboot 整合 logback。 netty rpc 实现原理。 开发环境 jdk 1.8 maven 3.5.3 dubbo 2.6.1 lombok 1.16.20 idea 2018 windows 7 安装步骤 安装jdk 安装maven,并设置好环境变量,仓库目录。 进入mmc-dubbo-api目录,执行mvn clean install命令,省api的jar包。 进入mmc-dubbo-doe目录,执行mvn clean install 命令,在target目录生成dubbo-doe-1.0.0-RELEASE.jar 在F盘(可以任意盘)创建目录F:\app\doe 把dubbo-doe-1.0.0-RELEASE.jar拷贝到F:\app\doe 把deploy目录中的所有文件拷贝到F:\app\doe 如果您电脑安装了git bash,可以在bash窗口运行 ./deploy.sh start,否则如果没有安装git bash,只能打开cmd切换到F:\app\doe目录,然后执行java -jar dubbo-doe-1.0.0-RELEASE.jar --spring.profiles.active=prd 打开浏览器,访问地址:http://localhost:9876/doe/home/index 全剧终
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值