1.rabbitmq 在springboot项目中的配置。配置host、username、pwd,默认端口5672.网页地址端口15672.
2.rabbitmq的路由类型:
(1).fanout广播,收到消息,发送给所有binding的queue
(2).direct单点发送,指定exchange以及key,发送给与key值完全相同的queue
(3).topic匹配发送,指定exchange以及key的模糊模式,key.#后者key.*等。发送给符合条件的queue
3.一般使用convertAndSend发送消息,转化并发送,默认使用java序列化的方式。或者封装message,使用send发送消息。
4.使用receiveAndConvert方法接收消息,接受并转化。
@Autowired
RabbitTemplate rabbitTemplate;
/**
* 单点发送消息 指定消息转换器 以及key 和消息内容
*/
@Test
public void contextLoads() {
HashMap<String,String> hashMap = new HashMap<>();
hashMap.put("key1","123456");
hashMap.put("key2","hello word");
rabbitTemplate.convertAndSend("exchange.direct","ck",hashMap);
}
/**
* 接收指定的key为ck的消息队列
*/
@Test
public void receive() {
Object messageResult = rabbitTemplate.receiveAndConvert("ck");
System.out.println(messageResult);
}
/**
* 发送广播
*/
@Test
public void sendAll(){
rabbitTemplate.convertAndSend("exchang.fanout","","全体都有");
}
5.可以使用配置文件,配置rabbitmqTemplate的默认参数。
@Configuration
public class MyAMQPConfig {
@Bean
public MessageConverter messageConverter(){
return new Jackson2JsonMessageConverter();//设置默认转化方式为json,使得可以从后台查看content
}
}
6.使用 @EnableRabbit开启rabbitmq的注解模式,使用rabbitmq的@RabbitListener监听队列消息