Fork me on GitHub

使用telnet测试dubbo接口初使用

背景

dubbo接口的测试不像controller的http接口那么容易测试,这里去了解了下使用telnet去测试参数没那么复杂的dubbo接口。

正题

首先看看一个dubbo接口的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public interface ShopAggregateRemoteService {
/**
* 获取所有产品类型 聚合字段的产品类型范围[软件+有伴服务]
* @param careDeleteFlag 是否关心软删 true:只返回生效的 false:全部返回
* @return
*/
ListResult<AggregateProductTypeDTO> getAllAggregateProductType(boolean careDeleteFlag);

/**
* 获取所有产品类型 聚合字段的产品类型范围[软件+有伴服务]
* @return
*/
default ListResult<AggregateProductTypeDTO> getAllAggregateProductType() {
return getAllAggregateProductType(false);
}
}

里面的实现:(就是一个简单的查数据库操作)

1
2
3
4
5
6
7
8
9
10
11
12
@Override
public ListResult<AggregateProductTypeDTO> getAllAggregateProductType(boolean careDeleteFlag) {
AggregateProductTypeCriteria example = new AggregateProductTypeCriteria();

AggregateProductTypeCriteria.Criteria criteria = example.createCriteria();
if (careDeleteFlag) {
// 关心软删 加入软删标志
criteria.andDeleteFlagEqualTo(0);
}
return DTOWrapper.wrap(customerConverter.convertList(aggregateProductTypeMapper.selectByCondition(example),
AggregateProductTypeDTO.class));
}

这里想本地启动项目去测试一下这个接口有没有问题,这个参数也比较简单(这里直接调用default方法就可以了)。

这里使用的mac系统,但是mac系统中高版本未默认安装telnet,所以还需要brew去安装一下。

brew install telnet

安装完成之后,就可以在本地将服务启动。

输入命令去telnet这个服务的dubbo接口:

telnet localhost 7100

然后可以看到进入到了dubbo的命令行界面:

这里可以用dubbo的ls命令去查看有什么dubbo服务:

最后是我们的invoke调用这个命令

invoke com.youzan.xxx.getAllAggregateProductType()

可以看到结果是调通的:

总结

这里使用的dubbo的简单命令去测试了工作中的一个接口,之后会对dubbo的使用和测试做更多的分析。

-------------本文结束感谢您的阅读-------------

本文标题:使用telnet测试dubbo接口初使用

文章作者:夸克

发布时间:2019年02月25日 - 20:02

最后更新:2022年07月01日 - 05:07

原始链接:https://zhanglijun1217.github.io/2019/02/25/使用telnet测试dubbo接口初使用/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。