我有一个相当简单的Java应用程序,它听一个关于JSON消息的Kafka主题。
这些是主要的依赖项和版本:
id 'org.springframework.boot' version '2.3.5.RELEASE'
...
set('springCloudVersion', "Hoxton.SR9")
...
implementation 'org.springframework.cloud:spring-cloud-stream'
implementation 'org.springframework.cloud:spring-cloud-stream-binder-kafka'指定JSON格式的application.properties配置:
spring.cloud.stream.bindings.listener-in-0.content-type = application/json以及“核心循环”:
@Bean
public Consumer<Message<MyDataModel>> listener() {
return message -> {
...就像一种魅力。但是现在,我尝试用Actuator库向应用程序添加一个/metrics端点:
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-actuator'在将这些添加到build.gradle、而不更改代码本身的任何内容()之后,上述代码段中的使用者无法反序列化传入的消息,模型对象的每个字段都为null。
显然,spring-boot-starter-web包覆盖了spring-cloud-stream库附带的JSON处理机制,但我不知道该做什么。尝试排除网络入门库的一部分,并围绕springBoot版本进行更改,但尚未取得成功。
发布于 2021-02-20 18:44:29
从2.3.5.RELEASE,升级到2.4.2和从Hoxton.SR9升级到2020.0.1为我们解决了这个问题。
https://stackoverflow.com/questions/66126051
复制相似问题