`
xmanliang
  • 浏览: 22559 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java消息中间件的测试

 
阅读更多

前段时间刚测试的一个项目,其中两个系统之间需要实现增量数量的读取更新,即A系统获取到增量数据后通知B系统获取新增数据并进行后续的处理,为达到这一目标,最终设计为A数据存在增量数据至activeMQ,B系统从activeMQ中获取数据,为此,开发童鞋需实现一个通用的客户端工具包,方便两个系统发送和读取消息。

测试思路:

根据项目情况分析,该消息中间件的测试主要关注点是“生产者”、“消费者”两者针对消息的处理是否正常,即:

1.生产者能否将消息正确写入activeMQ

2.消费者能否从activeMQ中拉取出消息

3.写入的消息与拉取的消息是否能一一对应

由于消息的序列化格式使用的是protoBuffer,所以测试之前对其也进行了一下学习了解,主要关注:

1).proc文件格式的定义

在此文件中定义消息的格式字段,主要有三种类型:

required:必须赋值、不可为空

optional:可赋值也可不赋值

repeated:可重复任意次数,可将该关键字修饰的字段看成自动设置size的数组

需根据具体业务分析定义的proc文件中的字段是否符合真实业务的需要

2)proc文件的编译

将定义好的proc文件编译成需要的java文件,命令格式: protoc --proto_path=IMPORT_PATH --java_out=DST_DIR  path/to/file.proto

proto_path:需编译的proc文件所在路径

java_out:编译生成java文件的路径,也可在proc文件中定义:option java_package=.....

编译生成的java文件有三种类型:

SPEED:生成的代码效率高,但会占用更多的空间

CODE_SIZE:与SPEED相反

LITE_RUNTIME:生成的代码效率高、占用空间少,但是要牺牲反射功能(这一点不太理解)

可在proc文件中对设置上述三项:option optimize_for=

上述准备工作都就绪以后,便可开始测试:

1.根据proc生成需要的java类,上述3个类型都需生成一份

2.模拟生产者调用开发提供的公共客户端,设置生产者数据并发送到activeMQ中(调用3种类型的java文件,即上面提到的SPEED、CODE_SIZE、LITE_RUNTIME)

3.模拟消费者调用开发提供的公共客户端,从activeMQ中拉取数据并解析(调用3种类型的java文件,即上面提到的SPEED、CODE_SIZE、LITE_RUNTIME)

4.验证生产者数据与消费者拉取到的数据一致

5.上述操作批量执行

测试结果:提供的客户端只能实现SPEED一种java文件定义格式的生产和消费,其他两种会出现异常!

分享到:
评论

相关推荐

    Java消息服务的消息中间件的研究与设计

    ### Java消息服务的消息中间件的研究与设计 #### 一、引言 随着分布式计算环境的日益普及和技术的进步,异构系统间的通信问题逐渐成为关注焦点。消息中间件作为一种解决这一问题的有效手段,其重要性日益凸显。...

    JEECG 消息中间件使用文档

    在测试消息中间件时,需要在后台打印相关日志,以便查看消息推送是否成功。 最后,在消息中心中,可以查看消息推送记录,以便追溯消息的发送情况。 JEECG 消息中间件使用手册为开发者提供了详细的使用指南和配置...

    基于Java的消息中间件java操作demo.zip

    使用者可以通过`mvn compile`和`mvn test`命令来编译和运行项目,测试消息传递功能。 5. **测试**: `Client.java`位于`test`包下,表明它是一个测试类,用于验证ActiveMQ的Java操作。这可能包含了不同场景的测试...

    大型网站系统与Java中间件实践(书签版)

    对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,《大型网站系统与Java中间件实践》有很大的参考意义;对于没有网站开发设计经验的人员,通过《大型网站系统...

    消息中间件在分布式系统中的作用介绍

    消息中间件(Middleware)是分布式系统架构中的关键组件之一,它是一种软件基础设施,专注于...此外,消息中间件的隔离性和解耦特性,使得不同服务可以独立开发、测试和部署,极大地提高了开发效率和系统维护的便捷性。

    消息中间件 RocketMQ 性能压测工具

    功能优势: ...3 简单易用:我将每个压测场景都单独封装成一个个 Shell 脚本,你在本地只需要有 JAVA 环境,就可以一键启动压测。 适用场景:后端开发同学功能测试或性能测试;测试开发同学进行压力测试。

    大型网站系统与JAVA中间件实践

    对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,《大型网站系统与Java中间件实践》有很大的参考意义;对于没有网站开发设计经验的人员,通过《大型网站系统...

    大型网站系统与JAVA中间件实践(超清版)

    对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,《大型网站系统与Java中间件实践》有很大的参考意义;对于没有网站开发设计经验的人员,通过《大型网站系统...

    大型网站系统与Java中间件实践

    对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,《大型网站系统与Java中间件实践》有很大的参考意义;对于没有网站开发设计经验的人员,通过《大型网站系统...

    实验三 消息中间件应用开发:ActiveMQ实现单线程多队列

    总之,这个实验旨在通过实际操作,使学习者深入了解消息中间件的实用价值,掌握ActiveMQ的基本操作,以及如何在Java环境中实现单线程处理多队列的高效通信模式。在完成实验后,学习者应具备设计和实现基于ActiveMQ的...

    大型网站系统与java中间件实践

    对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,《大型网站系统与Java中间件实践》有很大的参考意义;对于没有网站开发设计经验的人员,通过《大型网站系统...

    基于PHP和Java的消息中间件的实现原理研究.zip

    Java作为企业级开发的首选语言,其在消息中间件领域有着丰富的实现,如ActiveMQ、RabbitMQ Java客户端、Apache Kafka以及JMS(Java Message Service)规范。Java开发者可以使用JMS API来与各种消息中间件提供商进行...

    大型网站系统与Java中间件实践.rar

    《大型网站系统与Java中间件实践》是一本深入探讨如何构建和优化大型互联网系统的书籍,主要聚焦于Java技术栈和中间件的实践应用。通过阅读这本书,我们可以了解到一系列关键的技术概念和最佳实践,这些对于任何想要...

    大型网站系统与JAVA中间件实践-高清-带目录

    对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,《大型网站系统与Java中间件实践》有很大的参考意义;对于没有网站开发设计经验的人员,通过《大型网站系统...

    《大型网站系统与JAVA中间件实践》 PDF

    对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,《大型网站系统与Java中间件实践》有很大的参考意义;对于没有网站开发设计经验的人员,通过《大型网站系统...

    java中间件之activemq

    Java中间件领域的ActiveMQ是一款由Apache开发的开源消息中间件,它为企业级应用提供高效、可扩展、稳定且安全的消息通信服务。ActiveMQ的核心目标是实现标准的、面向消息的集成,支持多语言环境,确保不同平台之间的...

Global site tag (gtag.js) - Google Analytics