RabbitMQ学习

基础篇:

安装rabbitmq:

docker run \

-e RABBITMQ_DEFAULT_USER=itheima \ -e RABBITMQ_DEFAULT_PASS=123321 \ -v mq-plugins:/plugins \ --name mq \

--hostname mq \

-p 15672:15672 \ -p 5672:5672 \ --network hmall \ -d \ rabbitmq:3.8-management

如果报错:

docker: Error response from daemon: network hm-net not found.

原因是在容器启动时,所需的网络环境没有正确配置。

检查网络列表

docker network ls

创建所需网络

docker network create hm-net

运行容器时指定网络

docker run -d --net=hm-net rabbitmq:3.8-management

重新启动容器

docker restart mq

打开浏览器输入这个:192.168.17.128:15672

进入rabbitmq登录界面

总结规律:

1.交换机只能路由和转发消息,不能储存消息

2.一旦队列绑定交换机,使用交换机发送消息,绑定该交换机的队列都能收到消息

Java客户端-快速入门:

SpringAMQP如何收发消息:

配置yml文件:

spring:
  rabbitmq:
    host: 192.168.17.128 # 你的虚拟机IP
    port: 5672 # 端口
    virtual-host: /hmall # 虚拟主机
    username: hmall # 用户名
    password: 123 # 密码

发送消息:

@SpringBootTest
public class SpringAmqpTest {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    @Test
    public void test1(){
        String queueName="simple.queue";
        String msg="hello111,amqp!";
        rabbitTemplate.convertAndSend(queueName,msg);
    }
}

接收消息:

@Slf4j
@Component
public class Mqlistener {

    @RabbitListener(queues = "simple.queue")
    public void listenSimpleQueue(String msg){
        System.out.println("消费者收到了simple.queue类的消息:"+msg);
    }
}

spring:
  rabbitmq:
    host: 192.168.17.128 # 你的虚拟机IP
    port: 5672 # 端口
    virtual-host: /hmall # 虚拟主机
    username: hmall # 用户名
    password: 123 # 密码
    listener:
      direct:
        prefetch: 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值