春カフカリスナーで「ブローカが利用できない場合があります」という警告をキャッチする方法

VENU:

私は私のプロジェクトでカフカのクラスタを実装するためのPOCに取り組んでいます。私は3つのブローカーと私のローカルマシンでセットアップカフカクラスタを持っています。今、私は内部的に生成するために春カフカを使用しているSpring MVCのRESTサービスを使用してカフカサーバーにメッセージを送信し、カフカのクラスタへとからのメッセージを消費しています。今私は、消費者がブローカーがダウンしたときに、トピックからメッセージを受信できない場合にアラートを送信しようとしています。私シャットダウン消費者が接続されている唯一のブローカー。私は私のログに例外を取得していないですが、私は次の警告メッセージを得ました。

0:20:35.500 [TEST_GROUP-0-C-1] o.apache.kafka.clients.NetworkClientに警告 - ノード2147483645に【消費者のclientId =消費者1のgroupId = TEST_GROUP]接続が確立できませんでした。ブローカーが使用できない場合があります。

それは私の消費者が接続を失ったとき、私は警告を送信できるように、この警告メッセージをキャッチすることは可能ですか?以下は私の消費者のコードがあります。

private static final Logger LOGGER = LoggerFactory.getLogger(ListenerServiceImpl.class);
    @Autowired
    Dao<RnMessage> messageDao;
    @Autowired
    MessageService messageService;

    @KafkaListener(id = "TEST_GROUP", topics = "TESTQUEUE", errorHandler="eventQueueMessageListenerExceptionHandler")
    public void listenMessageInQueue(String msg) {

        try {
            //String str = new String(msg, "UTF-8");
            LOGGER.info("receiving payload='{}'", msg);
            messageDao.saveMessage(msg);
            messageService.sendMessageToOutQueue(msg);
        }catch(Exception e) {
            e.printStackTrace();
        }       
    }
シャンカールPS:

それはブローカーをポーリングすることができないときの消費者はNonResponsiveConsumerEventをスローします。@EventListenerでこのイベントをキャッチすることが可能です。

ここではサンプルコードは次のとおりです。

@EventListener()
public void eventHandler(NonResponsiveConsumerEvent event) {
    //When Kafka server is down, NonResponsiveConsumerEvent error is caught here.
    System.out.println("CAUGHT the event "+ event);
}

あなたは、ドキュメントで詳細を見ることができます。https://docs.spring.io/spring-kafka/reference/htmlsingle/#idle-containers

私は、特にドキュメントでこれに言及しています。

ブローカーは(執筆時点で)到達不能であれば、消費者のポーリング()メソッドは、メッセージが受信されないので、ないの出口を行い、アイドルイベントが発生することができません。この問題を解決するために、コンテナはNonResponsiveConsumerEventを公開します

作業JUnitテストコードはここにある- https://github.com/shankarps/KafkaDemo/blob/master/src/test/java/com/kafkademo/stack/TestConsumerWithNonAvailableBroker.java

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=211720&siteId=1