在本章节中:

关于插件

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

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

要求

  • SOAtest 9.9.0 或更高版本

安装指南

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

UI 安装指南

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

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

命令行安装指南

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

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

一旦路径完成更改,将加载所有必需的依赖项。

使用说明

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

可以使用以下配置选项。许多设置与 RabbitMQ 设置相同;有关详细信息,请参阅 Rabbit MQ documentation

连接设置

Host  

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

Port 

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

Use SSL 

启用/禁用 SSL默认为 false。 

Username

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

Password

定义 RabbitMQ 密码。默认为 guest。 

Virtualize

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

Automatic Recovery

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

Topology Recovery

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

发布设置

Exchange Name  

定义发送消息的交换。默认为 default exchange。 

Routing Key  

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

Mandatory 

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

immediate

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

基本属性

App id 

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

Cluster id 

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

Content Encoding 

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

Content Type

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

Correlation Id 

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

Delivery Mode 

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

Expiration  

定义消息将被删除的过期时间(以毫秒为单位)。 

Headers 

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

例如:

key1=value1,key2=value2 

Message Id 

定义消息标识符。 

Priority 

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

ReplyTo 

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

Timestamp

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

Type 

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

User Id 

定义可选用户 ID。 

使用设置

Wait for Reply 

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

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

Create Consumer Before Sending the Message 

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

Queue Name 

定义应答队列。默认为 temporary queue。 

Binding Exchange 

定义临时队列绑定到的交换器。 

Binding Routing Key 

定义将临时队列绑定到交换器时使用的绑定键。 

Timeout for Reply 

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

响应相关设置

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

Match Response Correlation Id with Request Message Id 

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

Match Response Correlation Id with Request Correlation Id 

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

Match Correlation Id Value 

在此字段中指定一个值,传输将忽略除具有匹配指定值的关联 ID 的响应之外的所有响应。 

连接管理设置

Keep connection alive/ Close 

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

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

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

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

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

设置 A(保持连接)

设置 B(保持连接)

设置 A(保持连接)

设置 B(保持连接)

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

设置 A(保持连接)

设置 B(保持连接)

设置 A(关闭连接)

设置 B(关闭连接)


第三方内容

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

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

  • No labels