导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
发送方
- 代码
@Autowired
//注入操作模板
private AmqpTemplate amqpTemplate;
//在主程序中
amqpTemplate.convertAndSend("item.insert",goodsSpu.getId());
- yam中的配置
spring:
rabbitmq:
host: 192.168.132.134
username: leyou
password: 123456
virtual-host: leyouvirtualHost
#开启发送者确认
template:
retry:
enabled: true
initial-interval: 10000ms
max-interval: 30000ms
multiplier: 2
exchange: leyou.item.exchange
publisher-confirms: true
消费方
- 代码
@Component
public class ItemListener {
@Autowired
private SearchService searchService;
@RabbitListener(bindings = @QueueBinding(
value = @Queue(name = "ly.item.insert.queue",durable = "true"),
exchange = @Exchange(name = "leyou.item.exchange",type = ExchangeTypes.TOPIC),
key = {"item.insert"}
))
public void itemAddGoods(Long sid){
searchService.createGoodsSearchBySid(sid);
}
}
- yam文件
spring:
rabbitmq:
host: 192.168.132.134
username: leyou
password: 123456
virtual-host: leyouvirtualHost