SpringAMQP交换机:消息转换器

SpringAMQP发送方法中,接收消息的类型时Object,也就是可以发送任意对象的消息,SpringAMQP会将其序列化为字节后发送。

Spring的对消息的处理时由org.springframework.amqp.support.converter.MessageConverter来处理,默认实现时simplemessageconverter。基于JDK

的ObjectOuputStream完成序列化。

如果要修改序列化方式,只需要定义一个MessageConverter类型的Bean即可。推荐JSON方式序列化,消息发送json步骤:

1.在publisher服务中引入依赖:

<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

2.在publisher服务声明MessageConverter

@Bean
    public MessageConverter messageConverter(){
        return new Jackson2JsonMessageConverter();
    }

消息接收jackson步骤:

1.引入依赖

2.创建Bean

3.定义消费者,监听队列并且消费信息。

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

 

posted @ 2021-11-11 10:51  zuiAI0658  阅读(170)  评论(0)    收藏  举报