1. 程式人生 > 實用技巧 >SpringBoot整合RabbitMQ

SpringBoot整合RabbitMQ

1.配置檔案 ---->詳情---->移步 https://www.cnblogs.com/zyhzsq/p/13397543.html

2.傳送訊息

public void send(Object message, Map<String, Object> map) {
  MessageHeaders messageHeaders = new MessageHeaders(map);
  Message<?> msg = MessageBuilder.createMessage(message, messageHeaders);
  rabbitTemplate.setConfirmCallback(confirmCallback);

  CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
  rabbitTemplate.convertAndSend("miaosha_exchange", "zyh.miaosha", msg, messagePostProcessor, correlationData);
}

3.接收訊息

@RabbitHandler
@RabbitListener(queues = {"miaosha_queue"})
public void onMessage(Message message, Channel channel) throws IOException {
String o = (String) message.getPayload();
boolean store = ordersService.store(o);
if (store) {
channel.basicAck((Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG), true);
System.out.println("消費成功");
}else{
channel.basicNack((Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG),true,false);
//
System.out.println("訊息被拒絕");
}
}