AMQP的开发服务
当运行测试时,AMQP的开发服务会在开发模式下自动启动一个AMQP 1.0代理。所以,你不需要手动启动代理。应用程序会自动配置。
启用/禁用AMQP的开发服务
AMQP的开发服务是自动启用的,除非:
-
quarkus.amqp.devservices.enabled
被设置为false
-
amqp-host
或amqp-port
已配置 -
所有的Reactive Messaging AMQP通道都设置了
host
或port
属性
AMQP的开发服务依赖于Docker来启动代理。如果你的环境不支持Docker,你将需要手动启动代理,或者连接到一个已经运行的代理。你可以使用 amqp-host
, amqp-port
, amqp-user
和 amqp-password
属性来配置代理访问。
共享的代理
大多数情况下,你需要在应用程序之间共享代理。AMQP的开发服务为在 开发 模式下运行的多个Quarkus应用程序实现了一个 服务发现 机制,来共享一个代理。
AMQP的开发服务使用 quarkus-dev-service-amqp 标签来启动容器,该标签用于识别容器。
|
如果你需要多个(共享的)代理,你可以配置 quarkus.amqp.devservices.service-name
属性,并指定代理的名字。它会查找一个具有同样值的容器,如果找不到,就会启动一个新的容器。默认的服务名称是 amqp
。
在开发模式下,默认启用共享,但在测试模式下禁用共享。你可以使用 quarkus.amqp.devservices.shared=false
来禁用共享。
配置镜像
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.
|