【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);
    }

}

运行后的结果:

相关推荐
阿豪只会阿巴11 分钟前
【没事学点啥】TurboBlog轻量级个人博客项目——Turbo Blog 项目学习与上线指南
开发语言·python·学习·状态模式
飞Link38 分钟前
构筑你的数字第二大脑:Obsidian 深度解析与配置指南
开发语言·python
JaydenAI39 分钟前
[Deep Agents:LangChain的Agent Harness-02]构建抽象的文件系统
python·langchain·ai编程·ai agent·deep agents·harness
2403_8832610940 分钟前
如何用 nodeType 与 nodeName 准确判断当前节点的物理类型
jvm·数据库·python
qq_413502021 小时前
如何利用 Block Tree 避免不必要的子组件重渲染?Vue3 编译黑科技
jvm·数据库·python
m0_624578591 小时前
CSS定位如何实现多行文字垂直居中_通过绝对定位模拟表格
jvm·数据库·python
破无差1 小时前
武术套路帖子
python
dfdfadffa1 小时前
mysql如何排查网络延迟引起的数据库连接问题_使用ping测试
jvm·数据库·python
WL_Aurora1 小时前
【每日一题】二分算法
python·算法
2303_821287381 小时前
JavaScript中Redux-Thunk处理异步Action的任务流
jvm·数据库·python