| 123456789101112131415161718192021222324252627282930313233343536373839 | package org.jeecg.boot.starter.rabbitmq.core;import org.springframework.amqp.core.Message;import org.springframework.amqp.core.MessageProperties;import org.springframework.amqp.support.converter.MessageConversionException;import org.springframework.amqp.support.converter.MessageConverter;import java.io.ByteArrayInputStream;import java.io.ObjectInputStream;import java.util.HashMap;import java.util.Map;public class MapMessageConverter implements MessageConverter {    @Override    public Message toMessage(Object object, MessageProperties messageProperties) throws MessageConversionException {        return new Message(object.toString().getBytes(), messageProperties);    }    @Override    public Object fromMessage(Message message) throws MessageConversionException {        String contentType = message.getMessageProperties().getContentType();        if (null != contentType && contentType.contains("text")) {            return new String(message.getBody());        } else {            ObjectInputStream objInt = null;            try {                ByteArrayInputStream byteInt = new ByteArrayInputStream(message.getBody());                objInt = new ObjectInputStream(byteInt);                //byte[]转map                Map map = (HashMap) objInt.readObject();                return map;            } catch (Exception e) {                e.printStackTrace();            }        }        return null;    }}
 |