Dev Services for AMQP
Dev Services AMQP 在开发模式和运行测试时将自动启动 AMQP 1.0 代理,因此您不必手动启动代理。应用程序将自动配置。
Enabling / Disabling Dev Services for AMQP
除非以下情况,否则 Dev Services AMQP 将自动启用:
-
quarkus.amqp.devservices.enabled`设置为`false
-
已配置`amqp-host`或`amqp-port`
-
所有 Reactive Messaging AMQP 通道都设置了`host`或`port`属性
Dev Services AMQP 依赖 Docker 来启动代理。如果您的环境不支持 Docker,您将需要手动启动代理,或连接到已在运行的代理。您可以使用`amqp-host`、amqp-port
、`amqp-user`和`amqp-password`属性配置代理访问。
Shared broker
大多数时候,您需要在应用程序之间共享代理。Dev Services AMQP 为在_dev_模式下运行的多个 Quarkus 应用程序实现了_service discovery_机制,以便共享一个代理。
Dev Services AMQP 使用`quarkus-dev-service-amqp`标签启动容器,该标签用于标识容器。 |
如果您需要多个(共享)代理,您可以配置`quarkus.amqp.devservices.service-name`属性并指示代理名称。它将查找具有相同值或在找不到值时启动一个新值的容器。默认服务名称为`amqp`。
共享在开发模式下默认启用,但在测试模式下禁用。您可以使用`quarkus.amqp.devservices.shared=false`禁用共享。
Setting the port
默认情况下,Dev Services AMQP 选择一个随机端口并配置应用程序。您可以通过配置`quarkus.amqp.devservices.port`属性设置端口。
Configuring the image
Dev Services AMQP 使用 activemq-artemis-broker映像。您可以使用`quarkus.amqp.devservices.image-name`属性配置映像和版本:
quarkus.amqp.devservices.image-name=quay.io/artemiscloud/activemq-artemis-broker:latest
配置的映像必须是与`activemq-artemis-broker`映像 compatible 。容器使用`AMQ_USER`、`AMQ_PASSWORD`和`AMQ_EXTRA_ARGS`环境变量启动。端口 5672 和 8161(网络控制台)已公开。