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

Dev Services for Pulsar

With Quarkus Smallrye Reactive Messaging Pulsar extension (quarkus-smallrye-reactive-messaging-pulsar) Dev Services for Pulsar automatically starts a Pulsar broker in dev mode and when running tests. So, you don’t have to start a broker manually. The application is configured automatically.

Dev Services for Pulsar の有効化/無効化

以下の場合を除き、Dev Services for Pulsar は自動的に有効になります。

  • quarkus.pulsar.devservices.enabledfalse に設定されている

  • `pulsar.client.serviceUrl`が設定されている

  • すべての Reactive Messaging Pulsar チャネルには `serviceUrl`属性が設定されている

Dev Services for Pulsar は、ブローカーを起動するために Docker に依存しています。環境が Docker をサポートしていない場合は、ブローカーを手動で起動するか、すでに実行中のブローカーに接続する必要があります。 pulsar.client. を使用してブローカーアドレスを設定できます。

共有ブローカー

ほとんどの場合、アプリケーション間でブローカーを共有する必要があります。Dev Services for Plusar は、 開発 モードで動作する複数の Quarkus アプリケーションが 1 つのブローカーを共有するための サービスディスカバリー メカニズムを実装しています。

Dev Services for Pulsar は、コンテナーを識別するために使用される quarkus-dev-service-pulsar ラベルを使用してコンテナーを起動します。

複数の (共有) ブローカーが必要な場合は、quarkus.pulsar.devservices.service-name 属性を設定してブローカー名を指定できます。 値が同じコンテナーを検索し、見つからない場合は新しいコンテナーを開始します。 デフォルトのサービス名は pulsar です。

開発モードでは共有はデフォルトで有効になっていますが、テストモードでは無効になっています。 quarkus.pulsar.devservices.shared=false で共有を無効にできます。

ポートの設定

デフォルトでは、Dev Services for Pulsar はランダムなポートを選択し、アプリケーションを設定します。 quarkus.pulsar.devservices.port プロパティーを設定することでポートを設定できます。

Pulsar がアドバタイズするアドレスは、選択したポートで自動的に設定されることに注意してください。

イメージの設定

Dev Services for Pulsar は、https://hub.docker.com/r/apachepulsar/pulsar[公式 Apache Pulsar イメージ] をサポートしています。

カスタムイメージ名は次のように設定できます。

quarkus.pulsar.devservices.image-name=datastax/lunastreaming-all:2.10_4.7

Pulsar ブローカーの設定

カスタムブローカー設定を使用して、Dev Services for Pulsar を設定できます。

次の例では、トランザクションサポートを有効にします。

quarkus.pulsar.devservices.broker-config.transaction-coordinator-enabled=true
quarkus.pulsar.devservices.broker-config.system-topic-enabled=true

関連コンテンツ