Kafka Producer回调不会引发错误

时间:2020-08-31 14:40:20

标签: java spring-boot apache-kafka spring-kafka kafka-producer-api

我正在for循环中向Kafka发送消息。

只要我在onSuccess()方法中有异常或在onSuccess()中调用的方法异常,应用程序就不会显示任何错误消息。 该如何解决?

我正在从带有@RestController注释的类中调用 sendMessageToKafka

在我的例子中

1/0不会在运行时抛出ArithmeticException:/零

我的存储库中也有错误,但是onSuccess()方法中没有引发该错误吗?

public void  sendMessageToKafka(List<String> messageList) {
        
        
        for ( String message :  messageList)
        {
        
      ListenableFuture<SendResult<String,String>>   future = kafkaTemplate.send(topicName, message);
 
        
        
        
        future.addCallback(new ListenableFutureCallback<SendResult<String, String>>() {
 
            @Override
            public void onSuccess(SendResult<String, String> result) {
 
                System.out.println("Sent message=[" + message + "] with offset=[" + result.getRecordMetadata().offset()
                        + "]"  );
                        
                        // if i add   error below  my application doest crash or throw error
                         int num =1/0
                        
                        myRepository.saveInDb(message);
                        
                    
 
            }
 
            @Override
            public void onFailure(Throwable ex) {
 
             System.out.println("Unable to send message=[" + message + "] due to : " + ex.getMessage());
             myRepository.saveInDb(message);
            }
        });
 
    

0 个答案:

没有答案