在本章节中:
关于插件
Parasoft RabbitMQ 传输扩展为 RabbitMQ SOAtest 中适用的消息客户端工具添加了对 RabbitMQ 传输的支持。RabbitMQ 是一个轻量级、可靠、可伸缩和可移植的消息代理。应用程序通过与平台无关的线级协议(Advanced Message queue protocol, AMQP)与它通信。
相关扩展 RabbitMQ 侦听器允许虚拟资产在 Parasoft Virtualize 中通过 RabbitMQ 接收和响应消息。
要求
- SOAtest 9.9.0 或更高版本
安装指南
可以从 UI 或命令行中安装此工具。
UI 安装指南
- 选择 Parasoft> Preferences。
- 在系统属性首选项页面,单击 Add JARs。
- 在文件浏览器中选择 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 服务器的主机名。默认为 |
---|---|
Port | 定义 RabbitMQ 服务器的端口号。默认为 |
Use SSL | 启用/禁用 SSL默认为 |
Username | 定义 RabbitMQ 用户名。默认为 |
Password | 定义 RabbitMQ 密码。默认为 |
Virtual Host | 定义要连接到的 RabbitMQ 虚拟主机。默认为 |
Automatic Recovery | 如果传输试图从连接失败中自动恢复,则将该选项设置为 |
Topology Recovery | 如果监听器试图从拓扑故障中自动恢复,则将该选项设置为 |
发布设置
Exchange Name | 定义发送消息的交换。默认为 |
---|---|
Routing Key | 定义发送消息时将使用的路由键。 |
Mandatory | 确定消息发布时 mandatory 字段设置为 true 或 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 | 确定是否应将消息持久存储到磁盘。输入 |
Expiration | 定义消息将被删除的过期时间(以毫秒为单位)。 |
Headers | 定义消息数据头。输入逗号分隔的键/值对。 例如:
|
Message Id | 定义消息标识符。 |
Priority | 定义消息优先级。可以可以输入一个从 |
ReplyTo | 定义应将响应发送到的队列的名称。 |
Timestamp | 定义如何设置消息时间戳。可以输入 |
Type | 定义消息类型(例如,此消息表示什么类型的事件或命令)。 |
User Id | 定义可选用户 ID。 |
使用设置
Wait for Reply | 如果传输应该等待回复消息,则将其设置为 如果设置为 |
---|---|
Create Consumer Before Sending the Message | 如果在发送消息之前应该创建使用者,则将其设置为 |
Queue Name | 定义应答队列。默认为 |
Binding Exchange | 定义临时队列绑定到的交换器。 |
Binding Routing Key | 定义将临时队列绑定到交换器时使用的绑定键。 |
Timeout for Reply | 定义响应超时时间(以毫秒为单位)。默认为 |
响应相关设置
如果 RabbitMQ 传输被配置为等待回复消息,这些设置允许您通过指定响应相关参数来过滤回复消息。如果没有配置相关(例如,所有字段都是空的),则不执行筛选,传输将使用第一个可用的应答消息。如果配置了相关性,将从上到下评估字段条目;第一个匹配字段将用于关联。
Match Response Correlation Id with Request Message Id | 如果传输应该忽略除具有与已发布消息的消息 ID 匹配的关联 ID 之外的所有响应,则将其设置为 |
---|---|
Match Response Correlation Id with Request Correlation Id | 如果传输应该忽略除具有与已发布消息的关联 ID 匹配的关联 ID 之外的所有响应,则将其设置为 |
Match Correlation Id Value | 在此字段中指定一个值,传输将忽略除具有匹配指定值的关联 ID 的响应之外的所有响应。 |
连接管理设置
测试执行后保持连接活动/关闭连接 | RabbitMQ 传输允许使用多个活动连接。如果连接设置匹配已打开的连接,则它将重用该连接。如果任何连接设置不同,则将创建一个新连接。 将测试标记为“保持连接”(启用了 Keep connection alive 选项)将不会在测试执行结束时告诉 SOAtest 调用连接上的 close()。 若要要关闭连接,必须将测试配置为“关闭连接”(启用了 测试执行后关闭连接 )。SOAtest 将关闭最后使用的连接,这将是用于该测试的连接。 与内置的 HTTP 传输不同,当所有执行完成时,不会对自定义传输的打开连接进行最终清理。相反,用户有责任将给定连接的最后一次测试标记为“关闭连接”,否则连接将保持打开状态。 例如,在下面的场景中,在测试运行结束后,这两个连接都将保持打开状态。 设置 A(保持连接) 设置 B(保持连接) 设置 A(保持连接) 设置 B(保持连接) 若要解决这个问题,则可以将每一组唯一设置的最后一次测试标记为“关闭连接”。 设置 A(保持连接) 设置 B(保持连接) 设置 A(关闭连接) 设置 B(关闭连接) |
---|
第三方内容
此扩展包括来自第三方的资源项,如下:
- RabbitMQ (Apache license)
更多的许可详情可在该插件的 licenses 文件夹中获得。