クイックツアー
生成および消費するサンプル 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>3.4.8-SNAPSHOT</version>
</dependency>
</dependencies>
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-pulsar:3.4.8-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
) から使用されるスキーマ型を推測します。