ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Rabbitmq简单使用

2020-11-30 19:34:41  阅读:187  来源: 互联网

标签:datacenter return 简单 factory Rabbitmq Bean 使用 msg public


yml的配置添加

  spring:
    rabbitmq:
      port: 5672
      host: 123.58.251.228
      username: guest
      password: guest
      virtual-host: admin

Rabbitmq的配置

  @Configuration
  public class MqConfig {

      public static final int DEFAULT_CONCURRENT = 2000;

      //声明队列
      @Bean("datacenter")
      public Queue directQueue(){
          return new Queue("datacenter",false); //队列名字,是否持久化
      }

      //声明交换机
      @Bean("DIRECT_EXCHANGE")
      public DirectExchange directExchange(){
          return new DirectExchange("exchange",false,false);//交换器名称、是否持久化、是否自动删除
      }

      //将队列绑定到交换机
      @Bean
      Binding binding1(@Qualifier("datacenter") Queue queue, @Qualifier("DIRECT_EXCHANGE") DirectExchange exchange){
          return BindingBuilder.bind(queue).to(exchange).with("datacenter");
      }

      //设置多线程接收
      @Bean("customContainerFactory")
      public SimpleRabbitListenerContainerFactory containerFactory(SimpleRabbitListenerContainerFactoryConfigurer configurer,
                                                                   ConnectionFactory connectionFactory) {
          SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
          factory.setConcurrentConsumers(10);
          factory.setMaxConcurrentConsumers(10);
          configurer.configure(factory, connectionFactory);
          return factory;
      }

  }

发送者

  @Component
  public class TradeSender {

      @Autowired
      AmqpTemplate rabbitmqTemplate;

      public void sendNewTrade(Integer i){
          String msg=String.valueOf(i);
          rabbitmqTemplate.convertAndSend("trade",msg);
      }
  }

接收者

  @RabbitListener(queues = "datacenter",containerFactory = "customContainerFactory")
  public class TradeReceiver {

      private static final Logger LOG = LoggerFactory.getLogger(TradeReceiver.class);

      @Autowired
      private volatile TradeService tradeService;

      @Autowired
      private Web3j web3j;


      @RabbitHandler
      public void handler(String msg) throws Exception {
          System.out.println(msg);
      }
  }

标签:datacenter,return,简单,factory,Rabbitmq,Bean,使用,msg,public
来源: https://www.cnblogs.com/foreversmile/p/14063086.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有