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

Dev Services for Apicurio Registry

If an extension for schema registry, such as quarkus-apicurio-registry-avro or quarkus-confluent-registry-avro, is present, Dev Services for Apicurio Registry automatically starts an Apicurio Registry instance in dev mode and when running tests. Also, all Kafka channels in SmallRye Reactive Messaging are automatically configured to use this registry. This automatic configuration only applies to serializers and deserializers from Apicurio Registry serde libraries and Confluent Schema Registry serde libraries, because there properties are set:

# for Apicurio Registry serde
mp.messaging.connector.smallrye-kafka.apicurio.registry.url=http://localhost:8081/apis/registry/v2
# for Confluent Schema Registry serde
mp.messaging.connector.smallrye-kafka.schema.registry.url=http://localhost:8081/apis/ccompat/v6

Dev Services for Apicurio Registryの有効化/無効化

Dev Services for Apicurio Registryは以下に当てはまらない場合、自動的に有効になります。

  • quarkus.apicurio-registry.devservices.enabledfalse に設定されていること

  • mp.messaging.connector.smallrye-kafka.apicurio.registry.url が設定されていること

  • mp.messaging.connector.smallrye-kafka.schema.registry.url is configured

  • all the Reactive Messaging Kafka channels have either the apicurio.registry.url attribute or the schema.registry.url attribute set

Dev Services for Apicurio Registry relies on Docker to start the registry. If your environment does not support Docker, you will need to start the registry manually, or use an already running registry. In such case, you can configure the registry URL for all Kafka channels in SmallRye Reactive Messaging with a single property. For Apicurio Registry serde, that is:

mp.messaging.connector.smallrye-kafka.apicurio.registry.url=... your Apicurio Registry URL...

For Confluent Schema Registry serde, that is:

mp.messaging.connector.smallrye-kafka.schema.registry.url=... your Confluent Schema Registry URL...

共有レジストリ

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

Dev Services for Apicurio Registryは、コンテナを識別するために使用される quarkus-dev-service-apicurio-registry ラベル付でコンテナを起動します。

複数の(共有)レジストリが必要な場合は、 quarkus.apicurio-registry.devservices.service-name 属性を設定し、レジストリ名を示すことができます。同じ値のコンテナを探し、見つからない場合は新しいコンテナを開始します。デフォルトのサービス名は apicurio-registry です。

共有は、開発モードではデフォルトで有効ですが、testモードでは無効です。 quarkus.apicurio-registry.devservices.shared=false で共有を無効にすることが可能です。

ポートの設定

既定では、Dev Services for Apicurio Registryはランダムなポートを選択してアプリケーションを設定します。 quarkus.apicurio-registry.devservices.port プロパティを設定することで、ポートを設定できます。

SmallRye Reactive messaging のKafkaチャンネルは、選択したポートで自動的に設定されることに注意してください。

イメージの設定

Dev Services for Apicurio Registryは、 apicurio/apicurio-registry-mem のイメージを使用しています。 https://hub.docker.com/r/apicurio/apicurio-registry-mem から任意の 2.x バージョンを選択することができます。

quarkus.apicurio-registry.devservices.image-name=apicurio/apicurio-registry-mem:latest-snapshot