我正在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);
}
});