The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

AMQP的开发服务

当运行测试时,AMQP的开发服务会在开发模式下自动启动一个AMQP 1.0代理。所以,你不需要手动启动代理。应用程序会自动配置。

启用/禁用AMQP的开发服务

AMQP的开发服务是自动启用的,除非:

  • quarkus.amqp.devservices.enabled 被设置为 false

  • amqp-hostamqp-port 已配置

  • 所有的Reactive Messaging AMQP通道都设置了 hostport 属性

AMQP的开发服务依赖于Docker来启动代理。如果你的环境不支持Docker,你将需要手动启动代理,或者连接到一个已经运行的代理。你可以使用 amqp-host , amqp-port , amqp-useramqp-password 属性来配置代理访问。

共享的代理

大多数情况下,你需要在应用程序之间共享代理。AMQP的开发服务为在 开发 模式下运行的多个Quarkus应用程序实现了一个 服务发现 机制,来共享一个代理。

AMQP的开发服务使用 quarkus-dev-service-amqp 标签来启动容器,该标签用于识别容器。

如果你需要多个(共享的)代理,你可以配置 quarkus.amqp.devservices.service-name 属性,并指定代理的名字。它会查找一个具有同样值的容器,如果找不到,就会启动一个新的容器。默认的服务名称是 amqp

在开发模式下,默认启用共享,但在测试模式下禁用共享。你可以使用 quarkus.amqp.devservices.shared=false 来禁用共享。

设置端口

默认情况下,AMQP的开发服务会选择一个随机端口,并配置应用程序。您可以通过配置 quarkus.amqp.devservices.port 属性来设置端口。

配置镜像

AMQP的开发服务使用 activemq-artemis-broker 镜像。你可以使用 quarkus.amqp.devservices.image-name 属性来配置镜像和版本:

quarkus.amqp.devservices.image-name=quay.io/artemiscloud/activemq-artemis-broker:latest
The configured image must be compatible with the activemq-artemis-broker one. The container is launched with the AMQ_USER, AMQ_PASSWORD and AMQ_EXTRA_ARGS environment variables. The ports 5672 and 8161 (web console) are exposed.

Related content