具有反应流的 Spring 云流

标签 spring spring-integration apache-kafka reactive-programming spring-cloud-stream

我的目标是使用 Spring Cloud Stream 和 Kafka 制作应用程序,并发现“响应式(Reactive)”世界。
我有一些有用的东西。这是我的消费者的一部分。
在我的 pom 中,我声明:

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

那是我使用的 1.0.0.RELEASE。
我已经声明了我的 channel
public interface MyChannels {

    public static final String TOPIC_NAME = "myTopicName";

    @Input(TOPIC_NAME)
    MessageChannel receive();
}

然后是我的服务
@MessageEndpoint
@EnableBinding(MyChannels.class)
public class MyConsumer {

    @Autowired
    private MyChannels channels;

    @ServiceActivator(inputChannel=MyChannels.TOPIC_NAME)
    public void receive(MyObject object) {
        //apply my business logic
        //like save my object in a database
    }
}

我很好地收到了我的信息。
我在依赖项中看到 spring-integration-kafka 依赖于 reactor-core。
让我的应用程序“ react ”就足够了吗?
我应该怎么做才能应用响应式(Reactive)编程风格?

我是否必须使用@EnableRxJavaProcessor,如果是,我不明白如何。

如果我不清楚,请不要犹豫,在评论中写出来。谢谢

最佳答案

Reactor 的使用是项目内部的,不会使您的应用程序具有反应性(还不是 :))。

此处的引用文档涵盖了 RxJava 支持的使用:http://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/#_rxjava_support

我们确实打算在 Spring Cloud Stream 1.1 中提供更广泛的支持:https://github.com/spring-cloud/spring-cloud-stream/issues/458

干杯,
马吕斯

关于具有反应流的 Spring 云流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38294320/

相关文章:

spring - PSQLException - spring boot 1.4.1 - spring data jpa - offsetdatetime/localdatetime 标识为字节流

spring-mvc - 如何在 Spring MVC 应用程序中插入 TCP-IP 客户端服务器

java - DefaultHttpHeaderMapper 允许自定义,但不执行排除逻辑

java - Kafka 消费者手册提交偏移量

apache-kafka - 如何删除 GlobalKTable 存储的状态?

apache-kafka - 我们如何使用 Apache Kafka API 获取主题的复制因子和保留时间

java - 无法从链中的任何提供商加载 AWS 凭证 - kinesis-kafka-connector

java - 如何将 ASCII 转换为字符串

java - Spring 循环依赖,即使使用通过 setter 进行注入(inject)

java - Spring 属性查找/优先级如何工作?