rabbitmq其实跟activemq很相似,总共三种模式,1直接模式,2分裂模式,3主题模式
1的使用方法和activemq一样,3是跟广播模式相似,但是能指定放给哪一些队列
http://192.168.204.132:15672/#/queues 15672是查看平台的端口号
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
</dependency>
配置文件
spring:
rabbitmq:
host: 192.168.204.132
port: 5672
username: guest
password: guest
virtualHost: /
@Autowired
private RabbitTemplate rabbitTemplate;
rabbitTemplate.convertAndSend("tensquare_sms", map);
package com.tensquare.rabbitmq.customer;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
@RabbitListener(queues = "tensquare_sms")
public class SmsByPhoneNum {
@RabbitHandler
public void getMsg(Map<String, String> map) {
String phoneNum = map.get("phoneNum");
String checkCode = map.get("checkCode");
System.out.println("手机号" + phoneNum + "发送验证码" + checkCode);
}
}
这个是队列
这个是主题模式,一次可以给多个队列同时发送,只要指定routingkey
public void convertAndSend(String routingKey, final Object object, CorrelationData correlationData)
throws AmqpException {
convertAndSend(this.exchange, routingKey, object, correlationData);
}