网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

springbootrabbitMq简单示例

spring boot rabbitMq

rabbitMq 是什么?

创新互联是专业的嘉祥网站建设公司,嘉祥接单;提供成都网站设计、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行嘉祥网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

rabbitMq 可以做什么?

消息系统允许软件、应用相互连接和扩展.这些应用可以相互链接起来组成一个更大的应用,或者将用户设备和数据进行连接.消息系统通过将消息的发送和接收分离来实现应用程序的异步和解偶.
或许你正在考虑进行数据投递,非阻塞操作或推送通知。或许你想要实现发布/订阅,异步处理,或者工作队列。所有这些都可以通过消息系统实现。

RabbitMQ是一个消息代理 - 一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息在传输过程中的安全。

如何使用:

spring boot 使用消息队列

  1. pom 引入依赖

        
                org.springframework.boot
                spring-boot-starter-amqp
        
        
                org.springframework.boot
                spring-boot-starter-web
        
  2. application.yml

    spring:
    rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest

  3. 配置queue

    @Configuration
    public class RabbitConfig {
    
        //queue
    
        @Bean
        public Queue helloQueue() {
                return  new Queue("hello");
        }
    
        @Bean
        public Queue topicMessage() {
                return new Queue("topic.message");
        }
    
        @Bean
        public Queue fanoutQueue() {
                return new Queue("fanout.A");
        }
    
        //exchange
        @Bean
        TopicExchange exchange() {
                return new TopicExchange("exchange");
        }
        @Bean
        FanoutExchange fanoutExchange() {
                return new FanoutExchange("fanoutExchange");
        }
    
        //bind
        //绑定单个topicExchange
        @Bean
        Binding bindingExchangeMessage(Queue topicMessage, TopicExchange exchange) {
                return BindingBuilder.bind(topicMessage).to(exchange).with("topic.message");
        }
    
        //绑定多个topicExchange
        @Bean
        Binding bindingExchangeMessages(Queue topicMessage, TopicExchange exchange) {
                return BindingBuilder.bind(topicMessage).to(exchange).with("topic.#");
        }
    
        //绑定单个 fanoutExchange
        @Bean
        Binding bindingFanoutExchange(Queue fanoutQueue ,FanoutExchange fanoutExchange) {
                return BindingBuilder.bind(fanoutQueue).to(fanoutExchange);
        }

    }

3.配置消费者

@Component
@RabbitListener(queues= {"hello"})
public class HelloReceive {

        @RabbitHandler
        public  void helloProcess(String message){
                System.out.println(message);
        }
}
  1. 配置生生产者

    @Component
    public class HelloSender {

        @Autowired
        AmqpTemplate amqpTemplate;
    
        public void sendHello(String message){
                amqpTemplate.convertAndSend("hello",message);
        }

    }

5 .测试接口

@RestController
@RequestMapping("/rabbit")
public class RabbitController {

        @Autowired
        HelloSender helloSender;

        @RequestMapping("/hello")
        public Object helloRabbit(String message){

                helloSender.sendHello(message);

                return "success";
        }
}

分享文章:springbootrabbitMq简单示例
网站URL:http://bjjierui.cn/article/gopddh.html

其他资讯