zoukankan      html  css  js  c++  java
  • springboot~rabbitmq自己通过UI手动发布队列需要注意的地方

    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}
    

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

  • 相关阅读:
    POJ 3140 Contestants Division (树dp)
    POJ 3107 Godfather (树重心)
    POJ 1655 Balancing Act (树的重心)
    HDU 3534 Tree (经典树形dp)
    HDU 1561 The more, The Better (树形dp)
    HDU 1011 Starship Troopers (树dp)
    Light oj 1085
    Light oj 1013
    Light oj 1134
    FZU 2224 An exciting GCD problem(GCD种类预处理+树状数组维护)同hdu5869
  • 原文地址:https://www.cnblogs.com/lori/p/9805575.html
Copyright © 2011-2022 走看看