431ca13ca265e7f5cdb85c4e64afb913b99f19f2.svn-base 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package org.jeecg.boot.starter.rabbitmq.core;
  2. import org.springframework.amqp.core.Message;
  3. import org.springframework.amqp.core.MessageProperties;
  4. import org.springframework.amqp.support.converter.MessageConversionException;
  5. import org.springframework.amqp.support.converter.MessageConverter;
  6. import java.io.ByteArrayInputStream;
  7. import java.io.ObjectInputStream;
  8. import java.util.HashMap;
  9. import java.util.Map;
  10. public class MapMessageConverter implements MessageConverter {
  11. @Override
  12. public Message toMessage(Object object, MessageProperties messageProperties) throws MessageConversionException {
  13. return new Message(object.toString().getBytes(), messageProperties);
  14. }
  15. @Override
  16. public Object fromMessage(Message message) throws MessageConversionException {
  17. String contentType = message.getMessageProperties().getContentType();
  18. if (null != contentType && contentType.contains("text")) {
  19. return new String(message.getBody());
  20. } else {
  21. ObjectInputStream objInt = null;
  22. try {
  23. ByteArrayInputStream byteInt = new ByteArrayInputStream(message.getBody());
  24. objInt = new ObjectInputStream(byteInt);
  25. //byte[]转map
  26. Map map = (HashMap) objInt.readObject();
  27. return map;
  28. } catch (Exception e) {
  29. e.printStackTrace();
  30. }
  31. }
  32. return null;
  33. }
  34. }