目录
Basic Queue 简单队列模型
任务模型(Work queues,也被称为(Task queues))
发布/订阅的广播(Fanout)模式
发布/订阅的定向(Direct)模式
发布订阅的通配(Topic)模式
导入依赖
配置yml
Basic Queue 简单队列模型
消息发送
消息接收
任务模型(Work queues,也被称为(Task queues))
消息发送
消息接收
发布/订阅的广播(Fanout)模式
交换机
@Configuration
public class FanoutConfig {
/**
* 声明交换机
* @return Fanout类型交换机
*/
@Bean
public FanoutExchange fanoutExchange(){
return new FanoutExchange("itcast.fanout");
}
/**
* 第1个队列
*/
@Bean
public Queue fanoutQueue1(){
return new Queue("fanout.queue1");
}
/**
* 绑定队列和交换机
*/
@Bean
public Binding bindingQueue1(Queue fanoutQueue1, FanoutExchange fanoutExchange){
return BindingBuilder.bind(fanoutQueue1).to(fanoutExchange);
}
/**
* 第2个队列
*/
@Bean
public Queue fanoutQueue2(){
return new Queue("fanout.queue2");
}
/**
* 绑定队列和交换机
*/
@Bean
public Binding bindingQueue2(Queue fanoutQueue2, FanoutExchange fanoutExchange){
return BindingBuilder.bind(fanoutQueue2).to(fanoutExchange);
}
}
消息发送
消息接收
发布/订阅的定向(Direct)模式
交换机
@Configuration
public class FanoutConfig {
/**
* 声明交换机
* @return Direct类型交换机
*/
@Bean
public DirectExchange exchange(){
return new DirectExchange("itcast.direct");
}
/**
* 第1个队列
*/
@Bean
public Queue fanoutQueue1(){
return new Queue("fanout.queue1");
}
/**
* 绑定队列和交换机
*/
@Bean
public Binding bindingQueue1(Queue fanoutQueue1, FanoutExchange fanoutExchange){
return BindingBuilder.bind(fanoutQueue1).to(fanoutExchange);
}
/**
* 第2个队列
*/
@Bean
public Queue fanoutQueue2(){
return new Queue("fanout.queue2");
}
/**
* 绑定队列和交换机
*/
@Bean
public Binding bindingQueue2(Queue fanoutQueue2, FanoutExchange fanoutExchange){
return BindingBuilder.bind(fanoutQueue2).to(fanoutExchange);
}
}
消息发送
消息接收
发布订阅的通配(Topic)模式
item.#
:能够匹配item.spu.insert
或者item.spu
item.*
:只能匹配item.spu
交换机
@Configuration
public class FanoutConfig {
/**
* 声明交换机
* @return Topic类型交换机
*/
@Bean
public TopicExchange exchange(){
return new TopicExchange("itcast.topic");
}
/**
* 第1个队列
*/
@Bean
public Queue fanoutQueue1(){
return new Queue("fanout.queue1");
}
/**
* 绑定队列和交换机
*/
@Bean
public Binding bindingQueue1(Queue fanoutQueue1, FanoutExchange fanoutExchange){
return BindingBuilder.bind(fanoutQueue1).to(fanoutExchange);
}
/**
* 第2个队列
*/
@Bean
public Queue fanoutQueue2(){
return new Queue("fanout.queue2");
}
/**
* 绑定队列和交换机
*/
@Bean
public Binding bindingQueue2(Queue fanoutQueue2, FanoutExchange fanoutExchange){
return BindingBuilder.bind(fanoutQueue2).to(fanoutExchange);
}
}
消息发送
消息接收
酒店实例实现数据同步
步骤
发送端
- 导包、写依赖、配置yml(省略)
- 编写常数
- 编写交换机
- 发送消息
接收端:
- 导包、写依赖、配置yml(省略)
- 编写监听器
- 编写监听后需要实现的业务
发送端
- 导包、写依赖、配置yml(省略)
- 编写常数
- 编写交换机
- 发送消息
接收端
- 导包、写依赖、配置yml(省略)
- 编写监听器
- 编写监听后需要实现的业务