springboot消息之AmqpAdmin管理组件的使用
时间:2022-07-23
本文章向大家介绍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教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 用高斯计算磷光发射能
- Android So动态加载 优雅实现与原理分析
- 堆与栈区别
- 在Gaussian16中同时扫描两个反应坐标
- python调试神器traceback
- Centos安装高版本GCC
- Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页和过滤
- Spring 注入集合的成员变量属性
- 深入理解JVM(③)Java的锁优化
- 解Bug之路-Nginx 502 Bad Gateway
- bootstrap v4 toast轻提示正确用法
- 精华 | SQL注入万能Bypass技巧
- 【STM32F429开发板用户手册】第31章 STM32F429的SPI总线基础知识和HAL库API
- Linux 查找当前目录下所有包含指定内容的文件
- 父子管道更有效地扩展应用及其存储库结构