快速入門

我們將透過展示一個生成和消費的 Spring Boot 應用程式示例,來快速瀏覽 Spring for Apache Pulsar。 這是一個完整的應用程式,不需要任何額外的配置,只要您有一個 Pulsar 叢集在預設位置(localhost:6650)執行即可。

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.4.6-SNAPSHOT</version>
    </dependency>
</dependencies>
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-pulsar:3.4.6-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 的主題。 請注意,該應用程式未指定任何架構資訊,因為 Spring for Apache Pulsar 庫會自動從您傳送的資料型別推斷架構型別。

我們使用 PulsarListener 註解從我們釋出資料的 hello-pulsar 主題中消費。 PulsarListener 是一個方便的註解,它包裝了 Spring for Apache Pulsar 中的訊息監聽器容器基礎架構。 在幕後,它會建立一個訊息監聽器容器來建立和管理 Pulsar 消費者。 與常規 Pulsar 消費者一樣,使用 PulsarListener 時的預設訂閱型別是 Exclusive 模式。 當記錄釋出到 hello-pulsar 主題時,Pulsarlistener 會消費它們並在控制檯上列印它們。 該框架還會從 PulsarListner 方法用作有效負載的資料型別(在本例中為 String)推斷使用的架構型別。