springboot~rabbitmq自己通过UI手动发布队列需要注意的地方

栏目: Java · 发布时间: 6年前

内容简介:为了兼容性和可读性更好,我们一般使用json字符串做为数据载体。以上两点注意好,手动发布队列就没有问题了!

springboot里发布队列消息

为了兼容性和可读性更好,我们一般使用json字符串做为数据载体。

public void decreaseCallMonitor(CallMonitorInfo callMonitorInfo) throws Exception {
    try {
      rabbitTemplate.convertAndSend(
          AmqpConfig.DATA_COLLECTION_EXCHANGE,
          AmqpConfig.CALLMONITOR_DECREASE_BINDING,
          objectMapper.writeValueAsString(callMonitorInfo)
      );
      logger.debug("Enter {},message:{}", "decreaseCallMonitor", callMonitorInfo.toString());

    } catch (Exception ex) {
      logger.error("MQ.decreaseCallMonitor.error", ex);
    }
  }

springboot里订阅消息

@RabbitHandler
  @RabbitListener(queues = AmqpConfig.CUSTOMER_TERMINATE_BINDING)
  public void customerTerminate(String data) {
    try {
      TerminateDTO terminateDTO = objectMapper.readValue(data, TerminateDTO.class);
      customerBusinessInfoMapper.updateCustomer_business_info(ImmutableMap.of(
          "status", EnumCustomerStatus.TERMINATE.getCode(),
          "customerId", terminateDTO.getCustomerId()
      ));
    } catch (Exception ex) {
      logger.error("解约同步异常", ex);
    }
  }

通过UI15672手动发消息要注意的地方

  1. 添加properties,声明它是utf-8及文本类型
content_encoding:utf-8
content_type:text/plain
  1. json字符串需要压缩,把回车换行都去掉,否则会出错
{"signSalespersonId":1001,"signSalesperson":"mq","signTime":null,"customerId":501806811767111700}

以上两点注意好,手动发布队列就没有问题了!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

运营攻略

运营攻略

陈辉 / 人民邮电出版社 / 2017-12 / 59

《运营攻略 移动互联网产品运营提升笔记》深入浅出地告诉大家什么是运营,梳理了移动互联网时代各类运营方向的工作重点与工作方法,结合实例指出了每类运营方向的提升要点;结合作者的亲身经历,解答了无数运营人与产品人纠结的运营与产品到底有什么异同的问题;指明了运营人的核心竞争力,并对处于不同阶段的运营人提出了相应的建议与要求;尤为难得的是,《运营攻略 移动互联网产品运营提升笔记》中还阐述了内容型产品与工具型......一起来看看 《运营攻略》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具