java .lang.NoSuchMethodError при запуске службы с помощью kafka - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь сделать небольшой микросервисный проект для касания кафки. Для запуска kafka я использую docker compose:

  kafka-server:
image: spotify/kafka
ports:
- 2181:2181
- 9092:9092
environment:
  ADVERTISED_PORT: 9092
  CONSUMER_THREADS: 1
  TOPICS: serverInputTopic,clientInputTopic

Чтобы добавить поддержку kafka в моем сервисе, я использую следующее в POM

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.2.RELEASE</version>
    <relativePath/>
</parent>
<properties>
    <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-client</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-stream</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-stream-kafka</artifactId>
    </dependency>
</dependencies>

Только использование в коде является аннотацией для класса бегуна

@EnableBinding(Sink.class)

и примечание о методе прослушивателя

@StreamListener(Sink.INPUT)

Я запускаю kafka без проблем, но при запуске службы я получаю следующую ошибку:

    ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: F
ailed to start bean 'inputBindingLifecycle'; nested exception is java.lang.NoSuchMethodError: org.springframework.kafka.listener.ContainerProperties.setAuthorizationExceptionRetryInterval(Ljava/time/Duration;)V

Что можно сделать, чтобы это исправить? Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

разрешено с внешней зависимостью

<dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka</artifactId>
        <version>2.4.6.RELEASE</version>
    </dependency>
0 голосов
/ 28 апреля 2020

Это известная проблема, о которой сообщалось здесь: https://github.com/spring-cloud/spring-cloud-release/issues/70

Вам необходимо обновить версию Spring Integration Kafka до 2.1.0, чтобы исправить эту проблему.

...