quarkus.uuid 作为表达式在 application.properties 中不起作用

quarkus.uuid as an expression not working in application.properties

编写了一个程序,其中使用 smallrye-kafka-messaging 读取 kafka 主题。现在我需要 group.id 属性 在服务为 run/restarted 时是随机的,所以我在 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[=12=](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 设置为随机?

正如@geoand 在评论中提到的,在将 Quarkus 版本更新到 2.2.3 后,它现在终于可以正常工作了。问题是由于使用了旧版本的Quarkus,更新版本后问题得到解决。