春季云流活页夹卡夫卡不起作用

时间:2019-06-05 11:06:43

标签: apache-kafka spring-cloud spring-cloud-stream

现在,我正在尝试使用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版本或其他原因下不能使用。

我不知道该怎么办以及如何探索这种情况...
如果您给我一些建议,我真的很感谢您。

1 个答案:

答案 0 :(得分: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"