编写了一个程序,使用 smallrye-kafka-messaging 读取 kafka 主题。现在我需要 group.id 属性在服务运行/重新启动时是随机的,所以我在 quarkus 项目中使用了这个属性
mp.messaging.incoming.incoming_topic_name.group.id=${quarkus.uuid}
${quarkus.uuid}
在 quarkus 指南中提到用于在 application.properties 中生成随机 uuid
但是当在应用程序中使用此属性时,会出现此异常
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。
还有其他方法可以将 kafka 侦听器的 group.id 设置为随机吗?