RabbitMq消费信息,对数据处理和编码设置
将消息放到MQ的队列,必然要对消息进行处理,不然使用MQ就显得没有什么意义了。
普通消费
单纯的消费消息只需写一个实现类实现MessageListener的onMessage方法即可,如
public class RabbitmqService implements MessageListener {
private Logger logger = LoggerFactory.getLogger(RabbitmqService.class);
@Autowired
private UserService userService;
@Autowired
private MsgInfoService msgInfoService;
public void onMessage(Message message) {
try {
//将放入队列的消息已UTF-8的格式转为JSON字符串(前提是放入队列是也是JSON字符串,中文存在乱码)
String msg = new String(message.getBody(),"utf-8");
logger.info("消息:{}",JSON.toJSONString(msg));
//将JSON字符串转换为自己想要处理的对象
User user= JSON.parseObject(msg, User .class);
//处理逻辑
User userDto = userService.save(user)