快速浏览

我们将通过展示一个生成和消费的 Spring Boot 应用程序示例,快速浏览适用于 Apache Pulsar 的 Spring。这是一个完整的应用程序,不需要任何其他配置,只要您在默认位置 - 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>3.3.1-SNAPSHOT</version>
    </dependency>
</dependencies>
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-pulsar:3.3.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 的主题。请注意,应用程序未指定任何架构信息,因为适用于 Apache Pulsar 的 Spring 库会根据您发送的数据类型自动推断架构类型。

我们使用 PulsarListener 注释从我们发布数据的 hello-pulsar 主题中进行消费。PulsarListener 是一个便利注释,用于包装适用于 Apache Pulsar 的 Spring 中的消息侦听器容器基础设施。在后台,它创建一个消息侦听器容器来创建和管理 Pulsar 消费者。与常规 Pulsar 消费者一样,使用 PulsarListener 时的默认订阅类型为 Exclusive 模式。当记录发布到 hello-pulsar 主题时,Pulsarlistener 会消费它们并在控制台上打印它们。该框架还会根据 PulsarListner 方法用作有效负载的数据类型推断所使用的架构类型,在本例中为 String