Dev Services for Pulsar
借助 Quarkus Messaging Pulsar 扩展(quarkus-messaging-pulsar
),针对 Pulsar 的 Dev Services 会在开发模式和运行测试时自动启动一个 Pulsar 代理。因此,你无需手动启动代理。应用程序会自动配置。
Enabling / Disabling Dev Services for Pulsar
除非满足以下条件,否则会自动启用针对 Pulsar 的 Dev Services:
-
将
quarkus.pulsar.devservices.enabled
设置为false
-
the
pulsar.client.serviceUrl
is configured -
所有的 Reactive Messaging Pulsar 频道都有
serviceUrl
属性设置
用于 Pulsar 的 Dev Services 依赖于 Docker 来启动代理。如果您的环境不支持 Docker,您将需要手动启动代理或连接到已运行的代理。您可以使用 pulsar.client.
配置代理地址。
Shared broker
大多数情况下,您需要在应用程序之间共享代理。用于 Pulsar 的 Dev Services 为在 dev 模式下运行您的多个 Quarkus 应用程序实施了一个 service discovery 机制,以共享一个代理。
用于 Pulsar 的 Dev Services 使用 |
如果您需要多个(共享)代理,您可以配置 quarkus.pulsar.devservices.service-name
属性并指出代理名称。它会寻找具有相同值的一个容器,或者如果找不到容器,则会启动一个新容器。默认服务名称是 pulsar
。
在 dev 模式下默认启用共享,但在测试模式下禁用共享。您可以使用 quarkus.pulsar.devservices.shared=false
禁用共享。
Setting the port
默认情况下,用于 Pulsar 的 Dev Services 会选择一个随机端口并配置应用程序。您可以通过配置 quarkus.pulsar.devservices.port
属性来设置端口。
请注意,Pulsar 通告地址会使用所选端口自动配置。
Configuring the image
用于 Pulsar 的 Dev Services 支持 official Apache Pulsar image。
可以配置自定义镜像名称,如下所示:
quarkus.pulsar.devservices.image-name=datastax/lunastreaming-all:2.10_4.7