无法推送到Kafka,甚至无法执行回叫

时间:2019-10-21 12:03:24

标签: spring-boot apache-kafka spring-kafka

我需要将我的微服务的请求和响应推送给Kafka经纪人。

我可以在本地安装Kafka成功完成此操作,但是当我将其带到更高的环境时,它会失败并显示以下错误。

o.a.k.clients.producer.KafkaProducer: [Producer clientId=producer-9]
Closing the Kafka producer with
timeoutMillis = 0 ms.",
"source":"stdout",
"tag":"PromiseEngine-Staging-aafa49a1ea22"}

我没有将超时设置为零,我可以在生产者配置中看到超时为30000毫秒。

我还实现了成功和失败的回调,并且没有一个得到执行。



@Autowired
    KafkaTemplate<String, KafkaMessageDTO> kafkaTemplate;

private void publishToKafkaTopic(String topic,
        SchedulingCallRequestDTO request, ScheduleOrderResponseDTOv2 response) {
    log.debug("entered publishToKafkaTopic: " + CommonUtils.getJson(response));
    ListenableFuture<SendResult<String, KafkaMessageDTO>> future =
        send(topic,new KafkaMessageDTO(request, response));
    future.addCallback(
            new ListenableFutureCallback<SendResult<String, KafkaMessageDTO>>() {
        @Override
        public void onSuccess(SendResult<String, KafkaMessageDTO> result) {
            log.info("Eequest and Response pushed to Kafka: " +
                CommonUtils.getJson(result.getProducerRecord().value()));
        }

        @Override
        public void onFailure(Throwable ex) {
            log.error("Error occured while pushing to Kafka." + " {}",
                CommonUtils.getJson(new KafkaMessageDTO(request, response)));
        }
    });
}


private ListenableFuture<SendResult<String, KafkaMessageDTO>> send(String topic, KafkaMessageDTO message) {
        log.debug("entered send: " + CommonUtils.getJson(message));

        ListenableFuture<SendResult<String, KafkaMessageDTO>> future = kafkaTemplate
                .send(generateProducerRecord(topic, message));

        return future;
    }

有人可以帮我吗

0 个答案:

没有答案
相关问题