我是靠谱客的博主 粗心枕头,最近开发中收集的这篇文章主要介绍rabbitmq RabbitAdmin,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

<dependency>
   <groupId>com.rabbitmq</groupId>
   <artifactId>amqp-client</artifactId>
   <version>3.6.5</version>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
@Configuration
@ComponentScan({"com.bfxy.spring.*"})
public class RabbitMQConfig {

   @Bean
   public ConnectionFactory connectionFactory(){
      CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
      connectionFactory.setAddresses("192.168.6.1:5672");
      connectionFactory.setUsername("longlong");
      connectionFactory.setPassword("");
      connectionFactory.setVirtualHost("/");
      return connectionFactory;
   }
   
   @Bean
   public RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory) {
      RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory);
      rabbitAdmin.setAutoStartup(true);//autoStartup必须设置true,否则Spring容器不会加载RabbitAdmin类
      return rabbitAdmin;
   }
}
@Test
public void testAdmin() throws Exception {
   rabbitAdmin.declareExchange(new DirectExchange("test.direct", false, false));
   
   rabbitAdmin.declareExchange(new TopicExchange("test.topic", false, false));
   
   rabbitAdmin.declareExchange(new FanoutExchange("test.fanout", false, false));
   
   rabbitAdmin.declareQueue(new Queue("test.direct.queue", false));
   
   rabbitAdmin.declareQueue(new Queue("test.topic.queue", false));
   
   rabbitAdmin.declareQueue(new Queue("test.fanout.queue", false));
   
   rabbitAdmin.declareBinding(new Binding("test.direct.queue",
         Binding.DestinationType.QUEUE,
         "test.direct", "direct", new HashMap<>()));
   
   rabbitAdmin.declareBinding(
         BindingBuilder
         .bind(new Queue("test.topic.queue", false))       //直接创建队列
         .to(new TopicExchange("test.topic", false, false)) //直接创建交换机 建立关联关系
         .with("user.#"));  //指定路由Key
   
   
   rabbitAdmin.declareBinding(
         BindingBuilder
         .bind(new Queue("test.fanout.queue", false))      
         .to(new FanoutExchange("test.fanout", false, false)));
   
   //清空队列数据
   rabbitAdmin.purgeQueue("dlx.queue", false);
}

最后

以上就是粗心枕头为你收集整理的rabbitmq RabbitAdmin的全部内容,希望文章能够帮你解决rabbitmq RabbitAdmin所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部