栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

干货 | Jmeter测试ActiveMQ服务

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

干货 | Jmeter测试ActiveMQ服务


JMS(java Message Service):即 Java 消息服务器应用程序接口,是一个 Java 平台中关于面向消息中间件(MOM)的 API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。

Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对 jms提供支持。它是Java平台上有关面向消息中间件(MOM)的技术规范,它便于消息系统中的Java 应用程序进行消息交换,并且通过提供标准的产生,发送,接受消息的接口简化企业应用的开发。

也就是:JMS是一个标准或者是一个协议,通常用于企业应用的消息传递。

如图就是 JMS Point-to-Point 的模型:

发送者和接受者:

接受者从队列中获取消息,在成功接收消息之后需向队列应答成功。发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,都不会影响消息被发送到队列。

消息队列:

每个消息都被发送到一个特定的队列。队列保留着消息,直到他们被消费或超时。每个消息只有一个消费者,一旦被消费,消息就不在消息队列中了。

它是Apache出品,最流行,能力最强劲的开源消息队列服务,是面向消息中间件(MOM)的最终实现,是真正的服务提供者。

ActiveMQ是通过什么工作模式来进行的?如图:

ActiveMQ 工作模式中的部分解释如下:
ActiveMQ客户端使用 Connection Factory 对象创建一个连接,向消息服务发送消息以及从消息服务接收消息均是通过此连接来进行。

Connection是客户端与消息服务的活动连接。这是一个相当重要的对象,大多数客户端均使用一个连接来进行所有的消息传送。

Session是用于生产和使用消息的单线程上下文。它用于创建发送和生产者和接收消息的消费者,并为所发送的消息定义发送顺序。

客户端使用Message Product想指定的物理目标发送消息,客户端使用Message Consumer对象从指定的物理目标接收消息。消费者可以支持同步或异步消息接收。异步使用可通过向消费者注册 MessageListener 来实现。

1、创建 jndi.properties 文件

jmeter是通过jndi来获得jms中相关对象的,如ConnectionFactory和Destination,所以要在jmeter的bin目录中添加一个jndi.properties属性文件,用于配置jndi


2、把jndi.properties放到jmeter的启动jar包中

可以直接将jndi.properties文件拖入jar包中;打开命令行窗口,并定位到 JMETER_HOME/bin 目录,运 行如下命令 :

3、添加activemq-all-5.2.0.jar包到Jmeter的lib库

将ACTIVE_HOME/activemq-all-5.2.0.jar文件复制到JMETER_HOME/lib目录中,jmeter在测试jms的时候会使用到activemq提供的jms的实现类,这些类并没有随jmeter一起分发,需要把这些类添加到jmeter的lib目录中。

4、启动 ActionMQ 服务

启动之后,在浏览器访问url:http://127.0.0.1:6161/admin,默认用户名和密码:admin

很快就很快就会进口核苷酸分公标志性不怎么

5、启动 jmeter添加线程组及JMS的 sampler,有三种方式的JMS消息

●在jmeter的Sampler下面新建JMS Point-to-Point,信息如下:
○ QueueuConnectionFactory:MQ 连接工厂,此处填写:ConnectionFactory

○ JNDI name Request queue: 请求队列,输入配置文件的 MyQueuePertest

○ JNDI name Receive queue: 接收队列名,输入配置文件的 MyQueuePertest

○ Communiction Style: Request Only

○ Content: 消息内容,此处填写:jmeter jms point to point,pertest

○ Initial Context Factory: 输入配置文件的 org.apache.activemq.jndi.ActiveMQInitialContextFactory

○ JNDI Properties: org.apache.activemq.jndi.ActiveMQInitialContextFactory

○ Provider URL:ActionMQ 地址和端口
如图:


查看结果:



测试JMS的PUB/SUB模型

需要新建立消费者模型,新建取样器:JMS Subscriber
●信息如下
○initial Context Factory: org.apache.activemq.jndi.ActiveMQInitialContextFactory

○ConnectionFactory:MQ 连接工厂,此处填写:ConnectionFactory

○Provider URL:tcp://127.0.0.1:61616

○Destination:MyTopicPertest

○Text Message:This is test jms publisher

●启动该线程
●查看发送者


消费者

最后我也给大家准备了自动化测试学习的配套资源:

对于想学习软件测试或者进阶自动化测试的朋友应该会很有帮助,关注我微信公众号:程序员二黑,免费获取!

机会只垂青有准备的人,这是一个靠本事的社会。有时候,你之所以发展得不好,不是因为没有机遇,而是因为你没有准备好,导致机遇与你擦肩而过。如果你想要学习,什么时候开始都不晚,而不是瞻前顾后,你只要用尽全力,剩下的交给时间!

学习软件测试是件需要坚持的事情,学习的过程可能会很枯燥如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【785128166 】,里面有各种软件测试资源和技术讨论。

推荐阅读

在职阿里6年,一个29岁女软件测试工程师的心声

当过服务员、快递员,现在年薪30W,历尽山河叛逆少年终会成长

公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352270.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号