zoukankan      html  css  js  c++  java
  • springboot消息之AmqpAdmin管理组件的使用

    package com.gong.springbootrabbitmq;
    
    import com.gong.springbootrabbitmq.bean.Book;
    import org.junit.After;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.amqp.core.AmqpAdmin;
    import org.springframework.amqp.core.Binding;
    import org.springframework.amqp.core.DirectExchange;
    import org.springframework.amqp.core.Queue;
    import org.springframework.amqp.rabbit.core.RabbitTemplate;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.Map;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class SpringbootRabbitmqApplicationTests {
    
        @Autowired
        RabbitTemplate rabbitTemplate;
        
        @Autowired
        AmqpAdmin amqpAdmin;
    
        @Test
        public void contextLoads() {
            //点对点消息
            //rabbitTemplate.send(exchange,routeKey,message);message需要自定义消息内容和消息头
            //rabbitTemplate.convertAndSend(exchange,routeKey,object);主需要传入要发送的对象,会自动序列化发送给rabbitmq,
            // object默认当成消息体
            Map<String,Object> map = new HashMap<>();
            map.put("msg","这是第一个消息");
            map.put("data", Arrays.asList("hello",123,true));
            rabbitTemplate.convertAndSend("exchange.direct","gong.news",
                    new Book("王者荣耀","寒冰"));
    
        }
    
        @Test
        public void testRecieve(){
            Object receiveAndConvert = rabbitTemplate.receiveAndConvert("gong.news");
            System.out.println(receiveAndConvert.getClass());
            System.out.println(receiveAndConvert);
        }
    
        @Test
        public void testMsg(){
            rabbitTemplate.convertAndSend("exchange.fanout","",
                    new Book("王者荣耀","寒冰"));
        }
        
        @Test
        public void testAmqpAdmin(){
            //创建交换器
            amqpAdmin.declareExchange(new DirectExchange("amqpAdmin.exchange"));
            //创建队列
            amqpAdmin.declareQueue(new Queue("amqpAdmin.queue",true));
            //绑定
            amqpAdmin.declareBinding(new Binding("amqpAdmin.queue",Binding.DestinationType.QUEUE,
                    "amqpAdmin.exchange","amqp.news",null));
            
        }
    }
  • 相关阅读:
    java基础72 junit单元测试
    java基础71 XML解析中的【DOM和SAX解析工具】相关知识点(网页知识)
    java基础70 负责静态的网页制作语言XML(网页知识)
    管理表空间和数据文件概要
    关于在博客中记录解决报错的问题
    ORACLE监听配置及测试实验(2)
    ORACLE监听配置及测试实验
    ORACLE network environment
    ORACLE INSTANCE与EM系统
    ORACLE DB体系结构
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12294764.html
Copyright © 2011-2022 走看看