66.15. カスタムサブスクリプションアダプター
複雑なサブスクリプションロジックを持つアプリケーションでは、サブスクリプションプロセスを処理するためのカスタム Bean が提供される場合があります。その場合は、SubscribeAdapter インターフェイスを実装する必要があります。
Kafka トピックまたはパターンのセットをサブスクライブするサブスクライバーアダプターの例
public class CustomSubscribeAdapter implements SubscribeAdapter {
@Override
public void subscribe(Consumer<?, ?> consumer, ConsumerRebalanceListener reBalanceListener, TopicInfo topicInfo) {
if (topicInfo.isPattern()) {
consumer.subscribe(topicInfo.getPattern(), reBalanceListener);
} else {
consumer.subscribe(topicInfo.getTopics(), reBalanceListener);
}
}
}
次に、それを名前付き Bean インスタンスとしてレジストリーに追加する必要があります。
レジストリーに追加する例
context.getRegistry().bind(KafkaConstants.KAFKA_SUBSCRIBE_ADAPTER, new CustomSubscribeAdapter());