RabbitMQ网页测试发送数据。接收,解析消息并保存

在页面上查看交换机和队列是否添加了项目

RabbitMQ网页测试发送数据。接收,解析消息并保存_第1张图片

  点击具体的队列进行消息的发送

RabbitMQ网页测试发送数据。接收,解析消息并保存_第2张图片

发送消息

RabbitMQ网页测试发送数据。接收,解析消息并保存_第3张图片

RabbitMQ网页测试发送数据。接收,解析消息并保存_第4张图片

如果没有找对自己的队列,则手动添加队列和交换机

添加交换机

RabbitMQ网页测试发送数据。接收,解析消息并保存_第5张图片

添加队列

RabbitMQ网页测试发送数据。接收,解析消息并保存_第6张图片

点击添加的队列进行绑定key

RabbitMQ网页测试发送数据。接收,解析消息并保存_第7张图片

然后返回上上一步进行消息发送

显示消息发送了,但是还未消费,因为我在了debug的拦截

监听的代码:

接收到json 的数据进行解析,并存入到数据库

@Component
public class Consumer {

    Logger logger = LoggerFactory.getLogger(Consumer.class);

    @Autowired
    private Repository  repository;


    @RabbitHandler
    @RabbitListener(queues = MQConstant.STOCKTAKING_QUEUE,id = "stocktaking_queue")
    public void process(byte[] msg) {
        logger.info("操作,传参json={}");
        try {
            String msgContent = null;
            //通过消息队列获取消息
            msgContent = new String(msg,"utf-8");
            logger.info("消息内容==={}", msgContent);
            //判断是否审核通过,如果审核通过,根据不同类型发送不同的消息事件
            JSONUtil.parseObj(msgContent);
            String data = JSONUtil.parseObj(msgContent).getStr("data");
            //去除数据中所有反斜杠
            data = data.replaceAll("\\\\", "");
            logger.info("data===={}", data);
            RecordDto recordDto = JSONUtil.toBean(data, RecordDto.class);
            Record  record = new Record();
            record.add(recordDto);
            repository.save(record);
            logger.info("保存成功");
        } catch (Exception e) {
            e.printStackTrace();
            logger.error(": 接受消息失败!");
        }
    }
}

 

你可能感兴趣的:(MQ,队列,RabbitMQ)