美文网首页rabbitmq
SpringAMQP 消息转换器 - MessageConver

SpringAMQP 消息转换器 - MessageConver

作者: HmilyMing | 来源:发表于2018-12-20 23:18 被阅读0次

    MessageConverter 即消息转换器

        我们在进行发送消息的时候,正常情况下消息体为二进制的数据方式进行传输,如果希望内部帮我们进行转换,或者指定自定义的转换器,就需要用到 MessageConverter 了。

    自定义常用转换器: MessageConverter,  一般来说都需要实现这个接口,然后重写以下两个方法。

        toMessage:  java 对象转换为 Message

        fromMessage:  Message 对象转换为 Java 对象

    转换器类别:

        json 转换器: jackson2JsonMessageConverter  可以进行 java 对象的转换功能

        DefaultJackson2JavaTypeMapper 映射器:可以进行Java对象的映射关系

        自定义二进制转换器: 比如图片类型、PDF、PPT、流媒体

    代码演示:代码地址: https://github.com/hmilyos/rabbitmq-spring-demo.git

    1. json 转换器

        先创建一个 Java 实体 Order

    接着在 RabbitMQConfig 里面 配置支持 json 格式的转换器

    在委派 adapter 里面声明入参为 Map 的消费方法

    功能就完成了,接着写个单元测试,注意 ContentType 一定要是 json !!

    运行单元测试,消息就被消费了

    2. DefaultJackson2JavaTypeMapper  转换 Java 对象

    再改进一下代码,转换 2 个 Java 对象

    注意这里面就不是写类的路径了,而是写刚才起的别名了

    因为junitTest的关系,它发送完就关闭了,还有一条消息没被消费

    可以上管控台确认一下

    这时候直接运行一下我们项目

    就把刚才剩余的那条消息消费了

    3. 二进制转换器

    先写转换处理

    消息接收

    声明一个全局的转换器

    编写单元测试来测试图片

    原图片的本地文件夹路径

    运行测试后,图片生成到指定的目录下

    这次来试试PDF

    验证 PDF 的处理是否成功了。

    相关文章

      网友评论

        本文标题:SpringAMQP 消息转换器 - MessageConver

        本文链接:https://www.haomeiwen.com/subject/phngbftx.html