Ошибка запуска потока Spring Cloud с помощью Kinesis

#spring #spring-cloud-stream #amazon-kinesis

#весна #spring-cloud-stream #amazon-kinesis

Вопрос:

Я пытаюсь запустить новый пример проекта, используя for process Kinesis Stream, но я получаю следующую ошибку:

 Exception in thread "-kinesis-consumer-1" java.lang.NoSuchFieldError: logger
    at org.springframework.integration.aws.inbound.kinesis.KinesisMessageDrivenChannelAdapter.access$5400(KinesisMessageDrivenChannelAdapter.java:100)
    at org.springframework.integration.aws.inbound.kinesis.KinesisMessageDrivenChannelAdapter$ShardConsumer.lambda$execute$0(KinesisMessageDrivenChannelAdapter.java:941)
 

И это мои зависимости от pom:

 <dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-stream</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-stream-binder-kinesis</artifactId>
        <version>LATEST</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-kinesis</artifactId>
        <version>1.11.632</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-stream</artifactId>
        <scope>test</scope>
        <classifier>test-binder</classifier>
        <type>test-jar</type>
    </dependency>
</dependencies>
 

Пример кода Spring Cloud с Kinesis устарел, поэтому я попытался использовать новейшие зависимости.

В любом случае, кто-нибудь может помочь?

Ответ №1:

Вероятно, вы пытаетесь использовать последнюю версию Spring Boot 2.4.x , которая уже обеспечивает нам интеграцию Spring 5.4 . И это несовместимо с последней версией Spring Integration AWS, которая по-прежнему основана на интеграции Spring 5.3.x .

Давайте посмотрим, сможете ли вы по-прежнему использовать Spring Boot 2.3.x !

Комментарии:

1. Работает как шарм! После изменения версии библиотеки потребитель начал … потреблять! Большое спасибо.