消息中间件踩坑

消息中间件踩坑之旅(五)——RabbitMq优先级处理、RPC实

2019-01-26  本文已影响0人  简单DI年华
优先级处理

提示:消费者的消费速度大于生产者的生产速度,且Broker无消息积压时,对发送消息设置优先级没有卵用

@Bean
public Queue queue1(){
    //设置最大优先级 为 【10】
    Map<String,Object> map = new HashMap<>();
    map.put("x-max-priority",10);
    return new Queue("queue1",true,true,false,map);
}
   this.rabbitTemplate.convertAndSend("fanoutExchange1","queue1",context,(message) -> {
        message.getMessageProperties().setPriority(5);
        return message;
    });

RPC实现

个人感觉实际用处不大 ,纯属了解即可

image
callbackQueueName = channel.queueDeclare().getQueue();

BasicProperties props = new BasicProperties
                            .Builder()
                            .replyTo(callbackQueueName)
                            .build();

channel.basicPublish("", "rpc_queue", props, message.getBytes());

this.rabbitTemplate.convertAndSend(" ","rpc_queue",context,(message) -> {
    //设置方法
   message.getMessageProperties().setCorrelationId("test");
    return message;
});
上一篇 下一篇

猜你喜欢

热点阅读