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 リスナーをランダムに設定する他の方法はありますか?