快速浏览

我们将通过展示一个以 Reactive 方式生成和消费的示例 Spring Boot 应用程序,快速浏览一下 Spring for Apache Pulsar 中的 Reactive 支持。 这是一个完整的应用程序,不需要任何其他配置,只要您在默认位置 - 上运行 Pulsar 集群即可。localhost:6650spring-doc.cn

1. 依赖项

Spring Boot 应用程序只需要依赖项。下面的清单分别显示了如何定义 Maven 和 Gradle 的依赖关系:spring-boot-starter-pulsar-reactivespring-doc.cn

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-pulsar-reactive</artifactId>
        <version>3.3.7-SNAPSHOT</version>
    </dependency>
</dependencies>
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-pulsar-reactive:3.3.7-SNAPSHOT'
}

2. 应用程序代码

以下是应用程序源代码:spring-doc.cn

@SpringBootApplication
public class ReactiveSpringPulsarHelloWorld {

    public static void main(String[] args) {
        SpringApplication.run(ReactiveSpringPulsarHelloWorld.class, args);
    }

    @Bean
    ApplicationRunner runner(ReactivePulsarTemplate<String> pulsarTemplate) {
        return (args) -> pulsarTemplate.send("hello-pulsar-topic", "Hello Reactive Pulsar World!").subscribe();
    }

    @ReactivePulsarListener(subscriptionName = "hello-pulsar-sub", topics = "hello-pulsar-topic")
    Mono<Void> listen(String message) {
        System.out.println("Reactive listener received: " + message);
        return Mono.empty();
    }
}

就是这样,只需几行代码,我们就有了一个可以工作的 Spring Boot 应用程序,它以响应式方式生成和消费来自 Pulsar 主题的消息。spring-doc.cn

启动后,应用程序使用 向 发送消息。 然后,它使用 .ReactivePulsarTemplatehello-pulsar-topichello-pulsar-topic@ReactivePulsarListenerspring-doc.cn

简单性的关键要素之一是 Spring Boot Starters,它可以自动配置并为应用程序提供所需的组件