章节目录:

关于插件

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 安装

  1. 前往 Parasoft > 首选项。 
  2. 选择系统属性并点击添加 JARs
  3. 在打开的文件选择器中,选择 com.parasoft.virtualize.listener.rabbitmq-<version>.jar。一旦此 jar 文件添加到 classpath 中,将加载所有必需的依赖项。
  4. 重启 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 服务器的主机名。如果字段为空,则将使用默认值 localhost

端口

定义 Rabbit MQ 服务器的端口。如果字段为空,则将使用默认的 Rabbit MQ 端口。

Use SSL当连接到 Rabbit MQ 服务器时,将该选项设置为 true。默认为 false

Username

定义 Rabbit MQ 用户名。

Password

定义 Rabbit MQ 密码。

Virtual Host Name

定义要连接的 Rabbit MQ 虚拟主机。

Automatic Connection Recovery

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

Topology Recovery

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

配置监听器设置

选项

说明

Listener Mode

可以指定 passthroughvirtualize 模式。

Passthrough 模式将监听队列上的消息以转发交换器的名称转发给交换器。

Virtualize 模式将监听队列上的消息转发给 Virtualize 以生成虚拟响应。

Listen Queue

定义 Virtualize 将从哪个队列使用消息。如果为空,将创建一个临时队列。

Binding Exchange定义临时队列绑定的交换器。仅适用于因监听队列为空而使用临时队列的情况。
Binding Key定义将临时队列绑定到 Exchange 时使用的绑定键。仅适用于因监听队列为空而使用临时队列的情况。

Auto Ack

如果监听使用者应自动确认其处理的消息,则将该选项设置为 true如果设置为 false,这些消息必须以不同的方式进行确认,否则它们将保留在队列中。

Consumer Tag

定义从队列消费时要使用的消费者标记。

Forward Exchange Name

定义在监听队列上的消息时要使用的交换。该字段仅在转义模式下使用。

配置回复设置

选项

说明

ReplyTo Exchange定义响应时使用的交换机。该字段仅在 Virtualize 模式下使用。
ReplyTo Routing Key定义响应时使用的路由键。该字段仅在 Virtualize 模式下使用。请求信息的 reply-to 优先于此处指定的 reply-to。

Generate ReplyTo Queue

如果监听器应该在发布响应之前生成回复队列,则将该选项设置为 true该字段仅在 Virtualize 模式下使用。

ReplyTo Queue Durability

如果回复队列应为持久队列,则将其设置为 true。持久队列是一个将持久化服务器重启的队列。该字段仅在 Generate ReplyTo Queue 设置为 true 时,在虚拟模式下使用。

Autodelete ReplyTo Queue

如果回复队列应被自动删除,则将其设置为 true。在使用队列上的所有消息之后,自动删除队列。该字段仅在 Generate ReplyTo Queue 设置为 true 时,在虚拟模式下使用。

配置日志设置

选项

说明

Log Level

设置监听器的日志等级。可接收以下值:

1 - 错误

2 - 警告

3 - 信息

4 - 排错

默认为 3

  • No labels