码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    4:java代码二

    (1)引入相关jar包

    dubbo
    zk
    提供者api
    
    • 1
    • 2
    • 3

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

    • 使用Zookeeper作为注册中心

    • 引用远程的HelloService接口服务




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

    @Autowired
    private HelloService helloService;
    
    • 1
    • 2

    (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 ); // 显示调用结果
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

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

  • 相关阅读:
    【从零开始学习 SystemVerilog】3.7、SystemVerilog 控制流—— Functions(函数)
    MATLAB算法实战应用案例精讲-【大模型】LLM算法(补充篇)
    365包包模式系统,月月换新包,满足你的小任性
    jquery datatable+bootstrap popover在表格里弹出对话框时只在表格内部,而不是外部
    C# ToString
    吃透Chisel语言.34.Chisel进阶之硬件生成器(三)——利用面向对象编程特性:以Ticker为例
    2520. 统计能整除数字的位数 --力扣 --JAVA
    Linux入门第二天——linux命令(一)
    ILS解析漏洞复现
    使用虚拟机搭建代码托管、持续集成系统
  • 原文地址:https://blog.csdn.net/web15185420056/article/details/126389000
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号