网站案例上海,保安服定制公司,兴县做网站公司,wordpress建企业站接上文 RabbitMQ-主题模式
1 第四种交换机类型 header:它是根据头部信息来决定的#xff0c;在我们发送的消息中是可以携带一些头部信息的#xff0c;类似与HTTP#xff0c;我们可以根据这些头部信息来决定路由到哪一个消息队列中。 修改配置类内容
Configuration
public…接上文 RabbitMQ-主题模式
1 第四种交换机类型 header:它是根据头部信息来决定的在我们发送的消息中是可以携带一些头部信息的类似与HTTP我们可以根据这些头部信息来决定路由到哪一个消息队列中。 修改配置类内容
Configuration
public class RabbitConfiguration {Bean(headerExchange) //注意这里返回的是HeadersExchangepublic HeadersExchange exchange(){return ExchangeBuilder.headersExchange(amq.headers) //RabbitMQ为我们预置了两个这里用第一个就行.build();}Bean(yydsQueue)public Queue queue(){return QueueBuilder.nonDurable(yyds).build();}Bean(binding)public Binding binding2(Qualifier(headerExchange) HeadersExchange exchange, //这里和上面一样的类型Qualifier(yydsQueue) Queue queue){return BindingBuilder.bind(queue).to(exchange) //使用HeadersExchange的to方法可以进行进一步配置//.whereAny(a, b).exist(); 这个是只要存在任意一个指定的头部Key就行//.whereAll(a, b).exist(); 这个是必须存在所有指定的的头部Key.where(test).matches(hello); //比如我们现在需要消息的头部信息中包含test并且值为hello才能转发给我们的消息队列//.whereAny(Collections.singletonMap(test, hello)).match(); 传入Map也行批量指定键值对}
}启动服务进入到yyds队列详情可以看到多了一个test:hello 尝试发送信息