在本章节中:
关于插件
Rabbit MQ 消息监听器是用于 Parasoft Virtualize 的自定义消息监听器扩展。监听器连接到一个 Rabbit MQ 代理并使用指定队列上的消息。根据操作模式(直通或虚拟化)分别将消息转发给真实后台系统或 Virtualize。该监听器假设发布者使用 ReplyTo 字段来定义将在发送响应时使用的 queue/routing 键。监听器还具有一些选项,以启用动态创建应答队列,或使用预定义的应答队列。
实现
Rabbit MQ 消息监听器实现为 com.parasoft.virtualize.listener.rabbitmq-<version>.jar,其取决于 Rabbit MQ AMQP 客户机 5.2.0(amqp-client-5.2.0.jar)。此依赖关系与发行版一起打包。
安装指南
可以从 UI 或命令行中安装此工具。
UI 安装指南
- 选择 Parasoft> Preferences。
- 在系统属性首选项页面,单击 Add JARs。
- 在打开的文件选择器中,选择 com.parasoft.virtualize.listener.rabbitmq-<version>.jar。一旦此 jar 文件添加到类路径中,将加载所有必需的依赖项。
- 重启 Virtualize。
命令行安装指南
将 com.parasoft.virtualize.listener.rabbitmq-<version>.jar 文件添加到 localsettings 属性文件中的 system.properties.classpath 属性。
例如:
system.properties.classpath=<path to jar>/com.parasoft.virtualize.listener.rabbitmq-1.0.1.jar
一旦路径完成更改,将加载所有必需的依赖项。
使用说明
使用该监听器需要在 Rabbit MQ 服务器上进行其他配置。
标准配置
以上是标准的 Rabbit MQ 配置。发布者通过交换发布消息。然后,交换器将消息路由到使用者正在侦听的适当消息队列。然后,使用者处理消息,并通过默认交换将响应传递给发布者定义的应答队列。为了在配置中包括 Virtualize,交换队列和消息队列应该在具有相同配置的相同虚拟主机中复制(除了名称)。
一旦配置了其他交换和消息队列,那么要么出版商必须被指向新的交易所,要么使用者必须被指向新的消息队列,以便 Virtualize 可以充当中间人,将消息转发给消费者的消息队列或消息转发到虚拟化资产为虚拟反应和直接响应出版商。
发布者虚拟配置
使用者虚拟配置
在服务器上配置了其他组件并且在 Virtualize 中安装了监听器之后,它可以在虚拟资产配置面板中选择并配置。
在 Virtualize 服务器视图中,选择要用于自定义消息监听器的虚拟资产,然后导航到虚拟资产部署设置中的 Transports> Custom 。如果安装了多个监听器,请使用 Select Implementation 下拉菜单来选择 com.parasoft.virtualize.listener.rabbitmq.RabbitMQListener。
可以配置以下设置。
配置连接设置
选项 | 说明 |
---|---|
Hostname | 定义 Rabbit MQ 服务器的主机名。如果字段为空,则将使用默认值 |
Port | 定义 Rabbit MQ 服务器的端口。如果如果字段为空,则将使用默认d的 Rabbit MQ 端口。 |
Use SSL | 当连接到 Rabbit MQ 服务器时,将该选项设置为 true 。默认为 false 。 |
Username | 定义 Rabbit MQ 用户名。 |
Password | 定义 Rabbit MQ 密码。 |
Virtual Host Name | 定义要连接的 Rabbit MQ 虚拟主机。 |
Automatic Connection Recovery | 如果监听器试图从连接失败中自动恢复,则将该选项设置为 |
Topology Recovery | 如果监听器试图从拓扑故障中自动恢复,则将该选项设置为 |
配置监听器设置
选项 | 说明 |
---|---|
Listener Mode | 您可以指定 转移模式将监听队列上的消息以转发交换器的名称转发给交换器。 虚拟化模式将监听队列上的消息转发给 Virtualize 以生成虚拟响应。 |
Listen Queue | 定义 Virtualize 将使用哪个队列的消息。 |
Auto Ack | 如果监听使用者应自动确认其处理的消息,则将该选项设置为 |
Consumer Tag | 定义从队列消费时要使用的消费者标记。 |
Forward Exchange Name | 定义在监听队列上的消息时要使用的交换。该字段仅在转义模式下使用。 |
配置 ReplyTo 设置
选项 | 说明 |
---|---|
Generate ReplyTo Queue | 如果监听器应该在发布响应之前生成应答队列,则将该选项设置为 |
ReplyTo Queue Durability | 如果对队列的应答应该是持续的,则将其设置为 |
Autodelete ReplyTo Queue | 如果应答队列应该自动被删除,则将其设置为 |
配置日志设置
选项 | 说明 |
---|---|
Log Level | 设置监听器的日志级别。可接收以下值:
默认为 |