【RabbitMQ】SpringAMQP--消息转换器

SpringAMQP--消息转换器

测试发送Object类型消息

1.声明队列

java 复制代码
@Configuration
public class FanoutConfig {
    @Bean
    public Queue objectQueue(){
        return new Queue("object.queue");
    }
}

运行消费者后:

2.发送消息

java 复制代码
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringAmqpTest {
    @Autowired
    private RabbitTemplate rabbitTemplate;
     @Test
    public void testSendObjectQueue(){
        Map<String,Object> msg = new HashMap<>();
        msg.put("name","柳岩");
        msg.put("age",26);
        rabbitTemplate.convertAndSend("object.queue",msg);
    }
}

运行发布者后:

3.使用基于JDK的ObjectOutputstream完成序列化

3.1在父工程中引入依赖(发布者与消费者都需要使用)
xml 复制代码
<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-databind</artifactId>
</dependency>
3.2在发布者服务与消费者服务声明MessageConverter
java 复制代码
@Bean
public MessageConverter messageConverter(){
	return new Jackson2JsonMessageConverter();
}
3.3发布者服务结果

先清理object.queue队列中的信息

在运行发布者后:

3.4消费者服务结果
java 复制代码
//消费者代码
@Component
public class SpringRabbitListener {

    @RabbitListener(queues = "object.queue")
    public void listenObjectQueue(Map<String,Object> msg){
        System.out.println("接收到object.queue的消息:" + msg);
    }

}

运行后的结果:

相关推荐
久绊A2 小时前
Python 基本语法的详细解释
开发语言·windows·python
power-辰南3 小时前
高并发系统架构设计全链路指南
分布式·系统架构·高并发·springcloud
Hylan_J5 小时前
【VSCode】MicroPython环境配置
ide·vscode·python·编辑器
莫忘初心丶5 小时前
在 Ubuntu 22 上使用 Gunicorn 启动 Flask 应用程序
python·ubuntu·flask·gunicorn
失败尽常态5238 小时前
用Python实现Excel数据同步到飞书文档
python·excel·飞书
2501_904447748 小时前
OPPO发布新型折叠屏手机 起售价8999
python·智能手机·django·virtualenv·pygame
青龙小码农8 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
大数据追光猿8 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
Leuanghing8 小时前
【Leetcode】11. 盛最多水的容器
python·算法·leetcode
roman_日积跬步-终至千里9 小时前
【分布式理论16】分布式调度2:资源划分和调度策略
分布式