RabbitMQ 实验入门

使用 spring-amqp 实验

发布订阅模型

fanoutExchange 实验

实验步骤:

  1. 编写定义 队列 和 交换机 绑定关系的代码
  2. 创建接口,模拟生产者,方便调试(接受参数 队列名、路由键、[消息])
  3. 定义消费者
    代码示例:
java 复制代码
@Configuration
public class FanoutConfig {
    @Bean
    public FanoutExchange fanoutexchange() {
        //创建广播模式交换机
        return new FanoutExchange("yoj.fanoutexchange");
    }
    // 创建队列
    @Bean
    public Queue fanoutQueue() {
        return new Queue("fanout.queue1");
    }
    // 绑定交换机和队列之间的关系
    @Bean
    public Binding bindingQueue1(Queue fanoutQueue1, FanoutExchange fanoutExchange) {
        return BindingBuilder.bind(fanoutQueue1).to(fanoutExchange);
    }
}
java 复制代码
 @GetMapping("/testMQ/{queueName}/{routingKey}")
    public BaseResponse<String> testMQ(@PathVariable("queueName") String queueName, @PathVariable("routingKey") String routingKey) {
        rabbitTemplate.convertAndSend(queueName, routingKey, "编译执行代码,返回结果");
        return ResultUtils.success("发送成功");
    }

实验效果

发消息

在队列中接受到了消息

direct 案例

  • 定义 关系
java 复制代码
 @RabbitListener(bindings = @QueueBinding(value=@Queue("direct.queue1"), exchange = @Exchange(name="direct.exchange", type = ExchangeTypes.DIRECT), key={"direct.key1"}))
    public void directQueue1Listen(String in) {
        System.out.println("direct.queue1:Received message: " + in);
    }

    @RabbitListener(bindings = @QueueBinding(value=@Queue("direct.queue2"), exchange = @Exchange(name="direct.exchange", type = ExchangeTypes.DIRECT),  key={"direct.key2"}))
    public void directQueue2listen(String in) {
        System.out.println("direct.queue2:Received message: " + in);
    }
相关推荐
chilavert3182 小时前
从RPA项目说说RPC和MQ的使用。
开发语言·qt·rpc·rabbitmq
@小了白了兔12 小时前
RabbitMQ工作流程及使用方法
分布式·rabbitmq
噼里啪啦啦.20 小时前
RabbitMQ
分布式·rabbitmq
希忘auto1 天前
详解RabbitMQ工作模式之通配符模式
rabbitmq
yuanlaile1 天前
RabbitMQ高并发秒杀、抢购系统、预约系统底层实现逻辑
分布式·rabbitmq·rabbitmq高并发·rabbitmq项目实战·rabbitmq实战教程
MYBOYER2 天前
Kafka、RabbitMQ、RocketMQ的区别
kafka·rabbitmq·rocketmq
椰椰椰耶2 天前
【RabbitMQ】路由模式和通配符模式的具体实现
分布式·rabbitmq
jstart千语2 天前
【消息队列】RabbitMQ基本认识
java·服务器·分布式·rabbitmq
码观天工2 天前
【.NET必读】RabbitMQ 4.0+重大变更!C#开发者必须掌握的6大升级要点
c#·rabbitmq·.net·mq
Black_Cat_yyds2 天前
rabbitmq
java·rabbitmq·java-rabbitmq