• 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));
            
        }
    }
  • 相关阅读:
    阻止表单重复提交的办法以及支付成功后页面后退重复提交的解决方案
    jsp页面的共用
    空间谱专题02:波束形成(Beamforming)
    空间谱专题01:信号模型
    空间谱专题00:综述
    BP神经网络
    fdatool的滤波器设计
    Testbench
    Cordic算法简介
    快速删除注释
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12294764.html
Copyright © 2020-2023  润新知