栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

RabbitMQ 发布者订阅者模式(Publish/Subscribe)实现和原理步骤讲解,方式3

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RabbitMQ 发布者订阅者模式(Publish/Subscribe)实现和原理步骤讲解,方式3

简单工作队类的实现配置步骤(5步)
  1. 引入AMQP的依赖
  2. 创建配置文件,链接消息队列(port name MQ账号密码)
  3. 创建配置类,声明队列
  4. 使用消息生产者发送消息
  5. 使用消息消费者接受消息

1 引入AMQP的依赖

			
	            org.springframework.boot
	            spring-boot-starter-amqp
	        
  1. 创建配置文件,链接消息队列(port name MQ账号密码)
server:
  port: 9003
spring:
  application:
    name: demo03
  rabbitmq:
    host: 120.55.58.250
    port: 5672
    password: guest
    username: guest
  1. 创建配置类,声明队列
@Configuration
public class WorkQueueConfig {
    public static String queueName01="fanout.queue01";
    public static String queueName02="fanout.queue02";
    public static String exchangeName="fanout.exchange";
    @Bean
    public Queue fanoutQueue01(){
        return new Queue(queueName01);
    }
    @Bean
    public Queue fanoutQueue02(){
        return new Queue(queueName02);
    }
    @Bean
    public FanoutExchange fanoutExchange(){
        return new FanoutExchange(exchangeName);
    }
    @Bean
    //绑定交换机和队列
    public Binding bindingQueue01(Queue fanoutQueue01,FanoutExchange fanoutExchange){
        return BindingBuilder.bind(fanoutQueue01).to(fanoutExchange);
    }

    @Bean
    //绑定交换机和队列
    public Binding bindingQueue02(Queue fanoutQueue02,FanoutExchange fanoutExchange){
        return BindingBuilder.bind(fanoutQueue02).to(fanoutExchange);
    }
}
  1. 使用消息生产者发送消息
@RestController
public class TestController {
    @Autowired
    private RabbitTemplate rabbitTemplate;


    @RequestMapping("/sendMessage")
    public void sendMessage(){
        for (int i=1;i<=5;i++){
            rabbitTemplate.convertAndSend("fanout.exchange","","发布、订阅"+i);
        }
    }
}
  1. 使用消息消费者接受消息
@Component
public class ReceiveListener {
    @RabbitListener(queues="fanout.queue01")
    public void ReceiveMessage01(String message){
        System.out.println("ReceiveMessage01"+message);
    }

    @RabbitListener(queues="fanout.queue02")
    public void ReceiveMessage02(String message){
        System.out.println("ReceiveMessage02"+message);
    }
}

##地址 http://localhost:9003/sendMessage

结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1014166.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号