spring amqp 发布确认的问题

你我他有个梦 发布于 2016/06/03 10:44
阅读 638
收藏 0

public void confirmCallback(RabbitTemplate template,final CountDownLatch threadLatch){
        template.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {
            public void confirm(CorrelationData correlationData, boolean ack, String cause) {
                if(ack){
                    confirms.add(correlationData.getId());
                    modelMap.put("sendResult",ack);
                    logger.info("发送成功");
                }else {
                    modelMap.put("sendResult",cause);
                    logger.warn("发送失败:"+cause);
                }
                threadLatch.countDown();
            }
        });
    }
if(!template.isConfirmListener()){
            confirmAndReturnTemplate.confirmCallback(template,threadLatch);
        }

template为RabbitTemplate,我是想把每次发布确认的结果返回到前台 ,放到了modelmap中,但是一个rabbitTemplate只能有一个confirmCallback,而回调函数在最后执行,就是还没等我放到modelmap中就返回前台了,有没有删除confirmCallBack重新设置的API或者其他解决方案

加载中
0
你我他有个梦
你我他有个梦
templateRabbitTemplate,我是想把每次发布确认的结果返回到前台  ,放到了modelmap中,
但是一个rabbitTemplate只能有一个confirmCallback,而回调函数在最后执行,
就是还没等我放到modelmap中就返回前台了,有没有删除confirmCallBack重新设置的API或者其他解决方案
返回顶部
顶部