Spring Cloud——RabbitMQ消息中间件
(本文只作为学习记录)
官网下载安装RabbitMQ,启动服务,浏览器输入localhost:15672进入管理界面,账号密码默认都是guest
新建Spring Boot项目,pom.xml 添加 spring-boot-starter-web 和 spring-boot-starter-amqp依赖
(parent节点中的版本建议小于2.0.0.RELEASE,本文使用1.5.9.RELEASE)
- application.properties配置属性:
spring.application.name=rabbitmq
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
server.port=9007
- 创建消息生产者
@Component
public class Sender {
@Autowired
private AmqpTemplate rabbitTemplate;
public void send(String name) {
String context = "hello " + name + ", Time is " + new Date();
System.out.println("Sender: " + context);
rabbitTemplate.convertAndSend("SpringCloudDemoQueue", context);
}
}
- 创建消息消费者
@Component
@RabbitListener(queues = "SpringCloudDemoQueue")
public class Receiver {
@RabbitHandler
public void process(String context) {
System.out.println("Receiver: " + context);
}
}
- 创建配置类
@Configuration
public class RabbitConfig {
@Bean
public Queue SpringCloudDemoQueue() {
return new Queue("SpringCloudDemoQueue");
}
}
- 创建对外接口
@RestController
public class RabbitMQSenderController {
@Autowired
private Sender sender;
@GetMapping(value = "/rabbitmq/send")
public String send(@RequestParam String name) {
sender.send(name);
return "success";
}
}
- 打开浏览器,输入
http://localhost:9007/rabbitmq/send?name=name
即可看到控制台输出的相应消息