嘗試在 Kafka binder 處于活動狀態的情況下啟動 Spring Cloud Streams 專案時,控制臺中會提示以下內容:
org.springframework.context.ApplicationContextException: Failed to start bean 'inputBindingLifecycle';
Caused by: java.lang.NoSuchMethodError: java.util.List.of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
我的輸入法使用 Spring Cloud 功能如下:
@Bean
public Function<Message<String>, byte[]> exec() {
return input -> ...
現在,有了 Kafka,我的 .properties 檔案如下所示:
spring.cloud.stream.function.bindings.exec-in-0=in
spring.cloud.stream.bindings.in.destination=topic-0
spring.cloud.stream.function.bindings.exec-out-0=out
spring.cloud.stream.bindings.out.destination=topic-1
spring.cloud.stream.bindings.in.binder=kafka
spring.cloud.stream.kafka.bindings.in.consumer.configuration.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.cloud.stream.bindings.out.binder=kafka
spring.cloud.stream.kafka.bindings.out.producer.configuration.value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
我是否缺少輸入法的任何配置?該方法對于 Kafka 是否應該有所不同(已經使用 PubSub 進行了測驗并且可以正常作業)?
uj5u.com熱心網友回復:
堆疊跟蹤中的錯誤為我們提供了您面臨此問題的線索:https ://github.com/spring-projects/spring-integration/issues/3761 。
所以,還是升級到最新的 Spring Cloud Stream:https ://spring.io/projects/spring-cloud-stream#learn
或者到最新的 Spring 集成:https ://spring.io/projects/spring-integration#learn
或者只使用 Java > 8 !
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/481299.html
