发送端把对象转为JSON字符串,
public <T>boolean sendToQueue(String queueName, T data){
try{
amqpTemplate.convertAndSend(queueName, JSON.toJSONString(data));
return true;
}catch (Exception e){
return false;
}
}
接收端解析的时候报错:com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 0
JSONObject.parseObject(s, QrSignInData.class);
解决办法如下:
@RabbitListener(queues = "MAIN_QUEUE")
public void process(String data){
System.out.println(data);
log.info("[RabbitMQ]----收到消息:{}",data);
final JSONObject jsonObject = JSONObject.parseObject(data);
final String qq = jsonObject.getString("qq");
final String s = jsonObject.toJSONString();
log.info(qq);
try{
final QrSignInData qrSignInData = JSONObject.parseObject(s, QrSignInData.class);
iMacUserService.toUpdateUserPoint(qrSignInData);
}catch (Exception e){
}
}