章节目录:
关于插件
Rabbit MQ Message Listener 是用于 Parasoft Virtualize 的自定义消息监听器扩展。该监听器连接到一个 Rabbit MQ 代理并使用指定队列上的消息。根据操作模式(转移或虚拟化)分别将消息转发给真实后台系统或 Virtualize。该监听器假设发布者使用回复字段来定义将在发送响应时使用的 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 > 首选项。
- 选择系统属性并点击添加 JARs。
- 在打开的文件选择器中,选择 com.parasoft.virtualize.listener.rabbitmq-<version>.jar。一旦此 jar 文件添加到 classpath 中,将加载所有必需的依赖项。
- 重启 Virtualize。
命令行安装
将 com.parasoft.virtualize.listener.rabbitmq-<version>.jar 文件添加到设置属性文件中的 system.properties.classpath 属性。
例如:
system.properties.classpath=<path to jar>/com.parasoft.virtualize.listener.rabbitmq-1.0.1.jar
classpath 更改完成后,将加载所有必需的依赖项。
使用说明
使用该监听器需要在 Rabbit MQ 服务器上进行其他配置。
标准配置
以上是标准的 Rabbit MQ 配置。发布者通过交换发布消息。然后,交换器将消息路由到使用者正在监听的适当消息队列。然后,使用者处理消息,并通过默认交换将响应传递给发布者定义的回复队列。为了在配置中包括 Virtualize,交换队列和消息队列应该在具有相同配置的相同虚拟主机中复制(除了名称)。
一旦配置了额外的交换机和消息队列,发布者必须指向新的交换机,或者消费者必须指向新的消息队列,这样 Virtualize 就可以充当中间人,将消息转发到消费者的消息队列,或者将消息转发到 Virtualize Asset 以获得虚拟响应,并直接响应发布者。
发布者虚拟配置
使用者虚拟配置
在服务器上配置了其他组件并且在 Virtualize 中安装了监听器之后,它可以在虚拟资产配置面板中选择并配置。
在 Virtualize 服务器视图中,选择要用于自定义消息监听器的虚拟资产,然后导航到虚拟资产部署设置中的传输协议> 自定义。如果安装了多个监听器,请使用选择实现下拉菜单来选择 com.parasoft.virtualize.listener.rabbitmq.RabbitMQListener。
可以配置以下设置。
配置连接设置
选项 | 说明 |
---|---|
Hostname | 定义 Rabbit MQ 服务器的主机名。如果字段为空,则将使用默认值 |
端口 | 定义 Rabbit MQ 服务器的端口。如果字段为空,则将使用默认的 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 |
Passthrough 模式将监听队列上的消息以转发交换器的名称转发给交换器。 Virtualize 模式将监听队列上的消息转发给 Virtualize 以生成虚拟响应。 |
Listen Queue | 定义 Virtualize 将从哪个队列使用消息。如果为空,将创建一个临时队列。 |
Binding Exchange | 定义临时队列绑定的交换器。仅适用于因监听队列为空而使用临时队列的情况。 |
Binding Key | 定义将临时队列绑定到 Exchange 时使用的绑定键。仅适用于因监听队列为空而使用临时队列的情况。 |
Auto Ack | 如果监听使用者应自动确认其处理的消息,则将该选项设置为 |
Consumer Tag | 定义从队列消费时要使用的消费者标记。 |
Forward Exchange Name | 定义在监听队列上的消息时要使用的交换。该字段仅在转义模式下使用。 |
配置回复设置
选项 | 说明 |
---|---|
ReplyTo Exchange | 定义响应时使用的交换机。该字段仅在 Virtualize 模式下使用。 |
ReplyTo Routing Key | 定义响应时使用的路由键。该字段仅在 Virtualize 模式下使用。请求信息的 reply-to 优先于此处指定的 reply-to。 |
Generate ReplyTo Queue | 如果监听器应该在发布响应之前生成回复队列,则将该选项设置为 |
ReplyTo Queue Durability | 如果回复队列应为持久队列,则将其设置为 |
Autodelete ReplyTo Queue | 如果回复队列应被自动删除,则将其设置为 |
配置日志设置
选项 | 说明 |
---|---|
Log Level | 设置监听器的日志等级。可接收以下值:
默认为 |