1

smallrye-kafka-messaging を使用して kafka トピックを読み取るプログラムを作成しました。サービスが実行/再起動されるたびに group.id プロパティをランダムにする必要があるため、このプロパティを quarkus プロジェクトで使用しました

mp.messaging.incoming.incoming_topic_name.group.id=${quarkus.uuid}

${quarkus.uuid}application.properties でランダムな uuid を生成するための quarkus ガイドに記載されています

ただし、このプロパティがアプリケーションで使用されると、この例外が表示されます

Failed to start application (with profile dev): java.util.NoSuchElementException: SRCFG00011: Could not expand value quarkus.uuid in property mp.messaging.incoming.incoming.incoming_topic_name.group.id
        at io.smallrye.config.ExpressionConfigSourceInterceptor.lambda$getValue$0(ExpressionConfigSourceInterceptor.java:44)
        at io.smallrye.common.expression.ExpressionNode.emit(ExpressionNode.java:22)
        at io.smallrye.common.expression.Expression.evaluateException(Expression.java:56)
        at io.smallrye.common.expression.Expression.evaluate(Expression.java:70)
        at io.smallrye.config.ExpressionConfigSourceInterceptor.getValue(ExpressionConfigSourceInterceptor.java:37)
        at io.smallrye.config.ExpressionConfigSourceInterceptor.getValue(ExpressionConfigSourceInterceptor.java:18)

これも試してみました-group.idプロパティを削除したため、kafkaはをquarkus.application.nameコンシューマーグループIDとして使用しているため、アプリケーション名プロパティを削除した後でも、quarkusはサービス名をコンシューマーグループIDとして使用しています。

group.id の kafka リスナーをランダムに設定する他の方法はありますか?

4

1 に答える 1