章节目录:

关于插件

Parasoft RabbitMQ 传输扩展为 RabbitMQ SOAtest 中适用的消息传送客户端工具添加了对 RabbitMQ 传输的支持。RabbitMQ 是一个轻量级、可靠、可伸缩和可移植的消息代理。应用程序通过与平台无关的线级协议(Advanced Message queue protocol, AMQP)与 RabbitMQ 通信。

相关扩展 RabbitMQ Listener 允许虚拟资产在 Parasoft Virtualize 中通过 RabbitMQ 接收和响应消息。

要求

  • SOAtest 9.9.0 或更高版本

安装

可以从 UI 或命令行中安装此工具。

UI 安装

  1. 选择 Parasoft> 首选项
  2. 在系统属性首选项页面,点击添加 JARs。 
  3. 在文件浏览器中选择 rabbitmqtransport.jar。 

一旦此 jar 文件添加到 SOAtest classpath 中,则将加载所有必需的依赖项。

命令行安装

将 rabbitmqtransport.jar 文件添加到设置属性文件中的 system.properties.classpath 属性。例如:

system.properties.classpath=<path to jar>/rabbitmqtransport.jar

classpath 更改完成后,将加载所有必需的依赖项。

使用说明

RabbitMQ Transport 主要用于消息传送客户端工具(比如 SOAP 客户端EDI 客户端消息传送客户端)。该传输在消息传送客户端的传输选项卡中配置。若要在消息传送客户端中使用 RabbitMQ Transport,请从传输下拉菜单中选择 RabbitMQ (AMQP) 并配置可用选项。

可以使用以下配置选项。许多设置与 RabbitMQ 设置相同;更多详情,请参阅 Rabbit MQ 文档

连接设置

主机 

定义 RabbitMQ 服务器的主机名。默认为 localhost。 

端口 

定义 RabbitMQ 服务器的端口号。默认为 5672(如果启用了 SSL,则默认为5761)。 

使用 SSL 

启用/禁用 SSL。默认为 false。 

用户名 

定义 RabbitMQ 用户名。默认为 guest。 

密码 

定义 RabbitMQ 密码。默认为 guest。 

虚拟主机名 

定义要连接到的 RabbitMQ 虚拟主机。默认为 / 

自动连接恢复 

如果传输试图从连接失败中自动恢复,则将该选项设置为 true。默认为 true。 

拓扑恢复 

如果监听器试图从拓扑故障中自动恢复,则将该选项设置为 true。默认是 true

发布设置

Exchange 名称 

定义发送消息的 Exchange。默认为默认 exchange。 

路由键 

定义发送消息时将使用的路由键。 

强制的 

确定消息发布时强制字段设置为 true 或 false。默认为 false。 

立即的

RabbitMQ 3.0 或更高版本中不支持。确定消息发布时立即字段设置为 true 或 false。默认为 false。 

基本属性

应用程序 id 

定义生成消息的应用程序的标识符。 

集群 Id 

AMQP 0.9.1 中已被弃用。定义集群内路由标识符。 

内容编码 

定义消息内容编码。输入 MIME 内容类型(比如,gzip)。 

内容类型 

定义消息内容类型。输入 MIME 内容类型(比如,application/json)。默认值是使用请求消息的内容类型。 

关联 Id 

定义相关消息的 ID(例如,此消息是对其的回复)。 

发送模式 

确定是否应将消息持久存储到磁盘。输入 1 表示非持久性,输入 2 表示持久性。 

过期 

定义消息被删除前的有效期(以毫秒为单位)。 

消息头 

定义消息头。输入逗号分隔的键/值对。

示例:

key1=value1,key2=value2 

消息 Id 

定义消息标识符。 

优先级 

定义消息优先级。可以输入一个从 09的数字。 

回复给 

定义应将响应发送到的队列的名称。 

时间戳 

定义如何设置消息时间戳。可以输入 auto 表示使用当前时间,或输入一个固定的日期/时间。如果指定一个固定的日期/时间,请使用固定的 yyyy-MM-dd Hh:mm:ss 格式(比如,2017-01-18 19:14:59)或区域默认格式 M/d/yy h:mm a(比如,适用于美国的 1/17/17 7:15 pm)。还接受 UNIX 时间戳格式。 

类型 

定义消息类型(例如,此消息表示什么类型的事件或命令)。 

用户 Id 

定义可选用户 ID。 

消费设置

等待回复 

如果传输应该等待回复消息,则将其设置为 true。默认为 true

如果设置为 true,则还可以通过在Response Correlation Settings中指定响应关联参数来过滤回复消息。

在发送消息之前创建消息端 

如果在发送消息之前应创建消费者,则将其设置为 true。默认为 true。 

队列名称 

定义回复队列。默认为 temporary queue。 

绑定 Exchange 

定义临时队列绑定到的 Exchange。 

绑定键 

定义将临时队列绑定到 Exchange 时使用的绑定键。 

响应超时时间 

定义响应超时时间(以毫秒为单位)。默认为 30000。 

响应相关设置

如果 RabbitMQ Transport 被配置为等待回复消息,这些设置允许您通过指定响应关联性参数来过滤回复消息。如果没有配置关联性(例如,所有字段都是空的),则不执行筛选,该传输将使用第一个可用的响应消息。如果配置了关联性,将从上到下评估字段条目;第一个匹配字段将用于关联。

匹配响应相关 Id 和 请求消息 Id 

如果除了关联 ID 与已发布消息的消息 ID 相匹配的响应之外,传输应忽略所有其他响应,则设置为 true。默认为 false。 

匹配响应相关 Id 和请求相关 Id 

如果除了关联 ID 与已发布消息的关联 ID 相匹配的响应之外,传输应忽略所有其他响应,则设置为 true。默认为 false。 

匹配相关 Id 值 

在此字段中指定一个值,除了关联 ID 符合指定值的响应,传输将忽略所有其他响应。 

连接管理设置

保持连接/测试执行之后关闭连接 

RabbitMQ Transport 允许使用多个活动连接。如果连接设置匹配已打开的连接,则它将重用该连接。如果任何连接设置不同,则将创建一个新连接。

将测试标记为“保持连接”(启用了保持连接选项)将不会在测试执行结束时告诉 SOAtest 调用连接上的 close()。

若要要关闭连接,必须将测试配置为“关闭连接”(启用了测试执行之后关闭连接)。SOAtest 将关闭最后使用的连接,这将是用于该测试的连接。

与内置的 HTTP 传输不同,当完成所有执行时,不会对自定义传输的打开连接进行最终清理。相反,用户必须将给定连接的最后一次测试标记为“关闭连接”,否则连接将保持打开状态。

例如,在下面的场景中,在测试运行结束后,这两个连接都将保持打开状态。

设置 A(保持连接)

设置 B(保持连接)

设置 A(保持连接)

设置 B(保持连接)

若要解决这个问题,则可以将每一组唯一设置的最后一次测试标记为“关闭连接”。

设置 A(保持连接)

设置 B(保持连接)

设置 A(关闭连接)

设置 B(关闭连接)


第三方内容

此扩展包括来自第三方的资源项,如下:

更多许可证详情可在该插件的 licenses 文件夹中获得。

  • No labels