java-dubbo接口测试三种方式

官方文档: 1.2 需求 · dubbo-user-book[这里是图片001]https://dubbo.gitbooks.io/dubbo-user-book/content/preface/requirements.html

前置准备工具

1:搭建测试环境,dubbo+zookeeper注册中心

zookeeper官网下载,解压

重命名:conf/zoo_sample.cfg为zoo.cfg(记住端口号)

双击zkServer.cmd启动

2.dubbo管理工具-dubbo-admin

下载地址:https://github.com/apache/dubbo-admin/

使用文档:老版本: Dubbo:搭建管理控制台(dubbo-admin)_琦彦-CSDN博客_dubbo-admin

最近新版本,分为前后两端:dubbo管理工具之dubbo-admin安装使用_mry6的博客-CSDN博客_dubbo-admin

测试三种方式

1: 常用的telnet命令,详细文档:Telnet Command Reference-zh - Dubbo - Alibaba Open Sesame

### telnet ip地址 端口号

telnet 127.0.0.1 20880

###显示服务列表

ls

###显示服务详细信息列表。

ls -l

###显示服务的方法列表。

ls XxxService

###显示服务的方法详细信息列表

ls -l XxxService

### 调用方法

invoke XxxService.xxxMethod({“prop”: “value”})

2:jmeter

2.1 插件下载地址:jmeter-plugins-dubbo,下载源代码后,需要自己把打包jar…打包完后,会出现两个jar包。jmeter-plugins-dubbo-2.7.3.jar,jmeter-plugins-dubbo-2.7.3-with-dependencies.jar.

2.2 将jmeter-plugins-dubbo-2.7.3-with-dependencies.jar包放入${JMETER_HOME}libext路径下,重启jmeter即可。

2.3 开始使用测试

(1) 添加线程组

(2) 添加–》取样器 --》dubbo sample

(3) 添加–》监听器–》察看结果树

3:java代码:一

import org.apache.commons.net.telnet.TelnetClient;

import java.io.InputStream;

import java.io.PrintStream;

public class TelnetOperator {undefined

public static void main(String args[]) throws Exception{undefined

TelnetClient telnetClient = new TelnetClient ( "vt200" ); //指明Telnet终端类型,否则会返回来的数据中文会乱码

telnetClient.setDefaultTimeout ( 5000 ); //socket延迟时间:5000ms

telnetClient.connect ( "主机IP", 端口号 ); //填写对应主机和端口建立连接

InputStream inputStream = telnetClient.getInputStream (); //读命令的流

PrintStream pStream = new PrintStream ( telnetClient.getOutputStream () ); //写命令的流

byte[] b = new byte[1024 * 16];

int size;

StringBuffer sBuffer = new StringBuffer ( 500 );

String ivk="invoke 服务名.方法名(参数)";//具体根据具体服务来写

pStream.println ( ivk ); //写命令

pStream.flush (); //将命令发送到telnet Server

}

}

注:需要导入commons-net的jar包,然后就可以很方便的转移到工具里面去执行测试咯。
————————————————
原文链接:https://blog.csdn.net/weixin_39561004/article/details/114125621

4:java代码二

(1)引入相关jar包

dubbo
zk
提供者api

(2)配置文件中引入提供者的地址

  • 使用Zookeeper作为注册中心

  • 引用远程的HelloService接口服务

    <dubbo:application name=“consumer-of-helloService” />
    <dubbo:registry protocol=“zookeeper” address=“127.0.0.1:2181” />
    <dubbo:protocol name=“dubbo” port=“20880” />
    <dubbo:reference id=“helloService” interface=“com.demo.dubbo.service.HelloService” />

(3)测试用例中注入接口

@Autowired
private HelloService helloService;

(4) 直接调用测试方法

//https://dubbo.gitbooks.io/dubbo-user-book/content/quick-start.html

import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.alibaba.dubbo.demo.DemoService;

public class Consumer {
    public static void main(String[] args) throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"http://10.20.160.198/wiki/display/dubbo/consumer.xml"});
        context.start();
        DemoService demoService = (DemoService)context.getBean("demoService"); // 获取远程服务代理
        String hello = demoService.sayHello("world"); // 执行远程方法
        System.out.println( hello ); // 显示调用结果
    }
}

4:java代码三、main方法中启动调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值