Spring Clound amqp配合消息队列使用
一.添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
二.添加配置
spring:
rabbitmq:
host: localhost
port: 5672
username: guest
password: guest
三.撸代码
接收端:
@Slf4j
@Component
public class AmqpReceiveMessage {
public final static String ORDMESSAGE = "ordMessage";
@RabbitListener(queuesToDeclare = @Queue(ORDMESSAGE))
public void process(String ordNo){
log.info("从队列【{}】接受到消息:{}",ORDMESSAGE,"订单号"+ordNo);
}
}
其中@Slf4j是使用了lombok的依赖
发送端:
/**
* MQ事例
* 订单支付完成接口
* 1.校验订单
* 2.修改订单状态
* 3.发送扣减库存MQ消息
*/
@RestController
@RequestMapping("/payOrder")
public class PayOrderController {
@Autowired
private AmqpTemplate amqpTemplate;
@GetMapping("/pay")
public Result<AbstractResult> PayOrder(String ordNo){
if(!CheckParamPayOrder(ordNo)){
return new Result(0,"error");
}
//修改订单状态
amqpTemplate.convertAndSend(Amqp