赞
踩
1、使用Xshell连接虚拟机的会话(http://47.xxx.86.114/)
使用账号密码登录成功
2、使用docker下载rabbitMQ镜像(注意:这里选择的-management的镜像是自带了管理页面的)
docker pull rabbitmq:3-management
3、下载完成之后,开启rabbitMQ服务,即可使用
docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq fc7a5d55df34
4、如果是使用的阿里云服务器,则需要开启5672(amqp端口)和15672(管理界面的端口)端口的映射才能run成功;
5、此时可以在浏览器中测试是否开始运行,输入以下网址:
http://47.xxx.86.114:15672/
账号与密码都为guest
此时可以自己添加交换机和队列进行测试;
6、使用IDEA与RabbitMQ进行交互
创建工程,选择组件
7、查看pom.xml文件是否导入rabbitMQ组件
8、查看源码:RabbitAutoConfiguration自动配置类(可跳过);
里面自动配置了工厂连接类ConnectionFactory;
RabbitProperties封装了RabbitMQ的配置;
RabbitTemplate:给RabbitMQ发送和接收消息。
9、可自己在application.properties中配置属性
- spring.rabbitmq.host=47.100.86.114
- spring.rabbitmq.username=guest
- spring.rabbitmq.password=guest
10、测试点对点通信
- @Autowired
- RabbitTemplate rabbitTemplate; //注入
-
- /**
- * 1. 单播(点对点)
- */
- @Test
- void contextLoads() {
- Map<String,Object> map = new HashMap<>();
- map.put("msg", "这是第一个消息");
- map.put("data", Arrays.asList("hello", 123, true));
- rabbitTemplate.convertAndSend("exchange.direct", "atguigu.news", new Book("西游记","zzz"));
- }
-
-
- @Test
- public void receive(){
- Object o = rabbitTemplate.receiveAndConvert("atguigu.news");
- System.out.println(o.getClass());
- System.out.println(o);
- }
11、测试广播
- /**
- * 广播
- */
- @Test
- public void sendMsg(){
- rabbitTemplate.convertAndSend("exchange.fanout", "", new Book("三国演义","bbb"));
- }
12、@RabbitListener和@EnableRabbit ,开启基于注解的rabbitMQ模块
13、自己定义序列化配置
- @Configuration
- public class MyAMQPConfig {
-
- @Bean
- public MessageConverter messageConverter(){
- return new Jackson2JsonMessageConverter();
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。