新着情報
1.1 以降の 1.2 の新機能
このセクションでは、バージョン 1.1 からバージョン 1.2 に加えられた変更について説明します。
カスタムオブジェクトマッパー
Pulsar が JSON メッセージの生成と使用時に使用する独自の Jackson ObjectMapper
を提供できます。詳細については、カスタムオブジェクトマッパーを参照してください。
デフォルトのテナントと名前空間
完全修飾されていないトピック URL に対してメッセージを生成または消費するときに使用するデフォルトのテナントおよび / または名前空間を指定できます。詳細については、デフォルトのテナント / 名前空間を参照してください。
メッセージコンテナーの起動ポリシー
メッセージリスナーコンテナーの起動失敗ポリシーを stop
、continue
、retry
に設定できるようになりました。詳細については、サポートされているコンテナー @PulsarListener、@PulsarReader、@ReactivePulsarListener の対応するセクションを参照してください。
メッセージコンテナーファクトリカスタマイザー (Spring Boot)
Spring Boot は、次のリスナーアノテーションをサポートする 1 つ以上の自動構成されたコンテナーファクトリをさらに構成するために使用できる汎用メッセージコンテナーファクトリカスタマイザー org.springframework.boot.autoconfigure.pulsar.PulsarContainerFactoryCustomizer<T extends PulsarContainerFactory<?, ?>>
を導入しました。
@PulsarListener
の場合、1 つ以上の PulsarContainerFactoryCustomizer<ConcurrentPulsarListenerContainerFactory<?>> Bean を登録します。@PulsarReader
の場合、1 つ以上の PulsarContainerFactoryCustomizer<DefaultPulsarReaderContainerFactory<?>> Bean を登録します。@ReactivePulsarListener
の場合、1 つ以上の PulsarContainerFactoryCustomizer<DefaultReactivePulsarListenerContainerFactory<?>> Bean を登録します。
非推奨
PulsarClient#getPartitionsForTopic(java.lang.String)
Pulsar クライアントのバージョン 3.3.1
では、getPartitionsForTopic(java.lang.String)
が廃止され、代わりに getPartitionsForTopic(java.lang.String, boolean metadataAutoCreationEnabled)
が採用されています。
パルサートピック # ビルダー
Spring Boot を使用する場合、PulsarTopicBuilder
はドメイン、テナント、名前空間のデフォルト値で構成された登録済みの Bean になります。Spring Boot を使用している場合は、必要な場所にビルダーを挿入するだけで済みます。それ以外の場合は、PulsarTopicBuilder
コンストラクターの 1 つを直接使用します。
リスナー /ReaderContainerFactory
PulsarContainerFactory
共通インターフェースは、リスナーコンテナーファクトリとリーダーコンテナーファクトリ間のギャップを埋めるために導入されました。この一環として、次の API が非推奨となり、コピーされ、名前が変更されました。
ListenerContainerFactory#createListenerContainer
はListenerContainerFactory#createRegisteredContainer
に置き換えられましたReaderContainerFactory#createReaderContainer(E endpoint)
はReaderContainerFactory#createRegisteredContainer
に置き換えられましたReaderContainerFactory#createReaderContainer(String… topics)
はReaderContainerFactory#createContainer
に置き換えられました
ConcurrentPulsarListenerContainerFactoryCustomizer
ConcurrentPulsarListenerContainerFactoryCustomizer
の目的は、Spring Boot の自動構成されたメッセージコンテナーファクトリをカスタマイズすることでした。ただし、Spring Boot では、このカスタマイザーの必要性を排除する汎用メッセージコンテナーファクトリカスタマイザー org.springframework.boot.autoconfigure.pulsar.PulsarContainerFactoryCustomizer<T extends PulsarContainerFactory<?, ?>>
が導入されました。
ConcurrentPulsarListenerContainerFactoryCustomizer
のすべてのインスタンスを org.springframework.boot.autoconfigure.pulsar.PulsarContainerFactoryCustomizer<ConcurrentPulsarListenerContainerFactoryCustomizer<?>>
に置き換えます。
削除
以前は非推奨だった次のリスナーエンドポイントアダプターは、リスナーエンドポイントインターフェースのデフォルトメソッドに置き換えられて削除されました。
org.springframework.pulsar.config.PulsarListenerEndpointAdapter
org.springframework.pulsar.reactive.config.ReactivePulsarListenerEndpointAdapter
1.0 以降の 1.1 の新機能
このセクションでは、バージョン 1.0 からバージョン 1.1 に加えられた変更について説明します。
自動スキーマのサポート
Pulsar トピックのスキーマを事前に知る機会がない場合は、AUTO スキーマを使用して、ブローカーとの間で汎用レコードを生成または消費できます。詳細については、AUTO_SCHEMA を使用した生産および AUTO_SCHEMA での使用を参照してください。
上記のリンクは PulsarTemplate と @PulsarListener に焦点を当てていますが、この機能は ReactivePulsarTemplate 、@ReactivePulsarListener 、@PulsarReader でもサポートされています。それぞれの詳細については、このリファレンスガイドのそれぞれのセクションを参照してください。 |
メッセージアノテーションによるデフォルトのトピック / スキーマ
メッセージクラスを @PulsarMessage
でマークして、その型のメッセージを生成 / 消費するときに使用するデフォルトのトピックやデフォルトのスキーマを指定できるようになりました。
チェックされた例外を削除する
フレームワークによって提供される API は、チェックされた PulsarClientException
をスローするのではなく、チェックされていない PulsarException
をスローするようになりました。
以前にコンパイラーをなだめるためだけに PulsarClientException をキャッチまたは再スローしていて、実際には例外を処理していなかった場合は、単純に catch または throws 句を削除できます。実際に例外を処理していた場合は、catch 句で PulsarClientException を PulsarException に置き換える必要があります。 |
テストサポート
spring-pulsar-test
モジュールは、Spring for Apache Pulsar アプリケーションのテストに利用できるようになりました。詳細については、アプリケーションのテストを参照してください。