Spring Cloud Stream Binder Kafka не работает

Теперь я пытаюсь создать функцию службы сообщений с помощью kafka для использования spring-cloud-stream-bind-kafka, но это не сработало.

Configuration:
весенняя загрузка 1.4.2

build.gradle:

compile "org.springframework.cloud:spring-cloud-stream:2.0.1.RELEASE"
compile "org.springframework.cloud:spring-cloud-stream-binder-kafka:2.0.1.RELEASE"

code:

@EnableBindings(MessagePublish.class)
class MessageConfiguration {
}

interface MessagePublish {
    @Output("test")
    MessageChannel publish();
}

class TestService {
    @Autowired
    MessagePublish messagePublish;

    public void doSomething() {
        // do something
        messagePublish.publish().send(MessageBuilder.withPayload("test").build());
    }
}

Это не удалось, когда я запускаю проект с этим журналом ошибок

Caused by: org.springframework.boot.autoconfigure.condition.OnBeanCondition$BeanTypeDeductionException: Failed to deduce bean type for org.springframework.cloud.stream.config.BindingServiceConfiguration.bindingService
....
Caused by: java.lang.ClassNotFoundException: org.springframework.integration.support.converter.ConfigurableCompositeMessageConverter

Я подозреваю, что моя версия весенней загрузки. Это такая низкая версия.
Я думаю, что spring-cloud-stream-binder-kafka нельзя использовать в версии Spring Boot 2.0 или по другим причинам.

Я не знаю, как мне поступить и как мне разобраться в этой ситуации...
Если вы дадите мне небольшой совет, я очень ценю вас.

Я настоятельно рекомендую Spring Boot 2, слишком много изменений. Я предлагаю вам сгенерировать pom, начиная с start.spring.io для правильных зависимостей и версий.

Paizo 05.06.2019 13:39

Я также хочу использовать весеннюю загрузку 2, но не могу (возможно ..). Потому что этот проект действительно огромное наследие

JoonT 07.06.2019 05:06
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Apache Kafka - популярная платформа распределенной потоковой передачи данных, которую можно использовать для построения конвейеров данных в реальном...
0
2
696
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы используете версию Spring Boot 1.4.x, ​​вам следует использовать выпуск Spring Cloud Camden.

https://github.com/spring-projects/spring-cloud/wiki/Spring-Cloud-Camden-Release-Notes

В частности, вы должны использовать следующие версии:

compile "org.springframework.cloud:spring-cloud-stream:1.1.2.RELEASE"
compile "org.springframework.cloud:spring-cloud-stream-binder-kafka:1.1.2.RELEASE"

Эти версии очень старые и больше не поддерживаются. Даже Boot 1.5 скоро перестанет поддерживаться.

Gary Russell 05.06.2019 15:02

Другие вопросы по теме