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));
            
        }
    }
  • 相关阅读:
    ui、li模拟下拉框
    六项精进
    Echarts柱状图添加点击事件
    [UWP]爱恋动漫BT开发小记
    [杂谈]这个四月
    [uwp]自定义图形裁切控件
    [uwp]自定义Behavior之随意拖动
    [uwp]数据绑定再学习
    [mvc]记一次“项目”的历程
    [uwp]ImageSource和byte[]相互转换
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12294764.html
Copyright © 2011-2022 走看看