快速导览

我们将通过一个示例 Spring Boot 应用程序来快速了解 Spring for Apache Pulsar,该应用程序可以生产和消费消息。这是一个完整的应用程序,不需要任何额外的配置,只要您在默认位置 localhost:6650 运行着一个 Pulsar 集群。

1. 依赖

Spring Boot 应用程序只需要 spring-boot-starter-pulsar 依赖。以下列表分别展示了如何为 Maven 和 Gradle 定义依赖关系。

  • Maven

  • Gradle

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

2. 应用程序代码

以下列表显示了示例的 Spring Boot 应用程序用例

@SpringBootApplication
public class PulsarBootHelloWorld {

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

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

    @PulsarListener(subscriptionName = "hello-pulsar-sub", topics = "hello-pulsar-topic")
    void listen(String message) {
        System.out.println("Message Received: " + message);
    }
}

让我们快速浏览一下这个应用程序的高级细节。稍后在文档中,我们将更详细地了解这些组件。

在前面的示例中,我们大量依赖 Spring Boot 自动配置。Spring Boot 为我们的应用程序自动配置了多个组件。它自动为应用程序提供了一个 PulsarClient,生产者和消费者都使用它。

Spring Boot 还自动配置了 PulsarTemplate,我们将其注入应用程序并开始向 Pulsar 主题发送记录。应用程序将消息发送到名为 hello-pulsar 的主题。请注意,应用程序未指定任何 schema 信息,因为 Spring for Apache Pulsar 库会自动从您发送的数据类型推断 schema 类型。

我们使用 PulsarListener 注解从发布数据的 hello-pulsar 主题消费。PulsarListener 是一个便利注解,它封装了 Spring for Apache Pulsar 中的消息监听器容器基础设施。在幕后,它创建了一个消息监听器容器来创建和管理 Pulsar 消费者。与常规 Pulsar 消费者一样,使用 PulsarListener 时的默认订阅类型是 Exclusive 模式。当记录发布到 hello-pulsar 主题时,Pulsarlistener 会消费它们并将其打印到控制台。该框架还会从 PulsarListner 方法用作 payload 的数据类型(在本例中为 String)推断使用的 schema 类型。

© . This site is unofficial and not affiliated with VMware.