RabbitMq的动态路由模式-Topic:
动态路由模式其实就是routing路由模式的一个升级,在路由模式的基础之上增加了routingKey的匹配规则,因为路由模式的routingKey都是直接写死的,如果日后有很多routingKey那么代码就要写多少,造成代码冗余,可维护度不高,那么动态路由就可以解决这一点了,通过#,*等统配符来匹配一定规则的routingKey,实现队列与交换机的绑定
实现步骤:
第一步:项目准备
消息生产方: zt-frank-mq-prod-service-9501
消息消费方1:zt-frank-mq-consumer1-service-9505
消息消费方2:zt-frank-mq-consumer2-service-9506
第二步:消息生产者9501代码编写,向driect类型的exchange发送三次消息,但是每次消息的routingKey不一样
@Controller
@RequestMapping("/mq")
public class TopicModel_5 {
private static Logger logger = Logger.getLogger(TopicModel_5.class);
@Autowired
private RabbitTemplate rabbitTemplate;
@PostMapping("/topic")
@ResponseBody
public String test(){
logger.info("mq开始生成消息-动态路由模式");
ArrayList<String> arr = new ArrayList