Spring-boot和kafka实现消息发送器

1,配置kafakaproducer和consummer。

2,发送消息通过回调的方式处理发送成功或者失败。

public class Sender {
    Logger log = LoggerFactory.getLogger(Sender.class);

    @Autowired
    private KafkaTemplate kafkaTemplate;

    public void sendMessage(String topic, Event event) {

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

        future.addCallback(new ListenableFutureCallback<SendResult<Integer, String>>() {

            @Override
            public void onSuccess(SendResult<Integer, String> result) {
                log.info("send success {}", result.getProducerRecord().value());
             
            }

            @Override
            public void onFailure(Throwable ex) {
                log.warn("send fail {}", ex.getMessage());

            }

        });

    }

}
         

  

posted @ 2017-09-26 22:33  依米熊  阅读(2200)  评论(0编辑  收藏  举报