RabbitMQ使用spring-boot-starter-amqp

孟彦
2023-12-01

导入依赖

	<dependency>
	    <groupId>org.springframework.boot</groupId>
	    <artifactId>spring-boot-starter-amqp</artifactId>
	</dependency>

发送方

  1. 代码
  @Autowired
  //注入操作模板
  private AmqpTemplate amqpTemplate;
  //在主程序中
  amqpTemplate.convertAndSend("item.insert",goodsSpu.getId());
  1. 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

消费方

  1. 代码
@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);
    }
}
  1. yam文件
spring:
	rabbitmq:
	    host: 192.168.132.134
	    username: leyou
	    password: 123456
	    virtual-host: leyouvirtualHost
 类似资料: