RabbitMQ安装、测试及使用

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();
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

℡folk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值