Функция Spring Cloud Stream не распознана
У меня есть потоковое приложение Spring Boot Kafka. После обновления до SB3 Spring.cloud.function.definition больше не распознается.
Я включил журналы отладки и помог. Я вижу эти сообщения в журналах:
Multiple functional beans were found [myEvents, sendToDlqAndContinue], thus can't determine default function definition. Please use 'spring.cloud.function.definition' property to explicitly define it.
Это моеapplication.yml
:
spring:
application:
name: @project.artifactId@
cloud:
config:
name: my-app
stream:
default:
producer:
useNativeEncoding: true
function:
definition:myEvents
ineligible-definitions: sendToDlqAndContinue
Вот какие зависимости у меня есть:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.1.5</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-kafka-streams</artifactId>
</dependency>
</dependencies>
Я попытался отладить класс Cloudstream Kafka, который сообщает об ошибке, BeanFactoryAwareFuntionRegistry.java.
и обнаружил, чтоthis.applicationContext.getEnvironment().getProperty(FunctionProperties.FUNCTION_DEFINITION, "");
является ""
Он содержитineligible-definitions
У меня есть в yml, но нетdefinition
Любые подсказки высоко ценятся. Может быть, в SpringBoot 3 есть какие-то изменения, связанные с облачными потоками? Какая-то недостающая зависимость?
Обновлять
Я попытался запустить приложение после добавления зависимости:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
Приложение теперь использует сообщения, но зависимость не регистрирует неподдерживаемые или перенесенные свойства. Как я могу узнать, какое свойство удалено/перенесено??
Я не нашел официальной документации об изменениях в новом выпуске.