content: 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;
  
      }
  }
  