|  | @@ -50,11 +50,19 @@ public class OrderMsgHandler {
 | 
												
													
														
															|  |          return BindingBuilder.bind(orderStateQueue()).to(orderStateExchange());
 |  |          return BindingBuilder.bind(orderStateQueue()).to(orderStateExchange());
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -    @RabbitListener(queues = "order_state_queue")    //监听器监听指定的Queue
 |  | 
 | 
												
													
														
															|  | -    public void processOrderState(String message, Channel channel, Message msg) {
 |  | 
 | 
												
													
														
															|  | -        log.info("============================== Receive:" + message);
 |  | 
 | 
												
													
														
															|  | 
 |  | +    /**
 | 
												
													
														
															|  | 
 |  | +     * 工单传过来的是一个字符串消息,alarmDataStarter中注册了一个Jackson2JsonMessageConverter的消息转换器
 | 
												
													
														
															|  | 
 |  | +     * 它会将字符串消息转换为byte数组,如果消息的类型为json,它会将消息转换为对象
 | 
												
													
														
															|  | 
 |  | +     *
 | 
												
													
														
															|  | 
 |  | +     * @author lixing
 | 
												
													
														
															|  | 
 |  | +     * @version V1.0 2021/11/22 10:06 下午
 | 
												
													
														
															|  | 
 |  | +     */
 | 
												
													
														
															|  | 
 |  | +    @RabbitListener(queues = "order_state_queue")
 | 
												
													
														
															|  | 
 |  | +    public void processOrderState(byte[] message, Channel channel, Message msg) {
 | 
												
													
														
															|  | 
 |  | +        String messageStr = new String(message);
 | 
												
													
														
															|  | 
 |  | +        log.info("============================== Receive:" + messageStr);
 | 
												
													
														
															|  |          try {
 |  |          try {
 | 
												
													
														
															|  | -            OrderStateMessage orderStateMessage = StringUtil.transferItemToDTO(message, OrderStateMessage.class);
 |  | 
 | 
												
													
														
															|  | 
 |  | +            OrderStateMessage orderStateMessage = StringUtil.transferItemToDTO(messageStr, OrderStateMessage.class);
 | 
												
													
														
															|  |              log.info("currentThread:{}", Thread.currentThread().getId());
 |  |              log.info("currentThread:{}", Thread.currentThread().getId());
 | 
												
													
														
															|  |              log.info("order_id: {}", orderStateMessage.getOrder_id());
 |  |              log.info("order_id: {}", orderStateMessage.getOrder_id());
 | 
												
													
														
															|  |              log.info("order_state: {}", orderStateMessage.getOrder_state());
 |  |              log.info("order_state: {}", orderStateMessage.getOrder_state());
 | 
												
											
												
													
														
															|  | @@ -63,7 +71,7 @@ public class OrderMsgHandler {
 | 
												
													
														
															|  |              // 手动确认消息已消费
 |  |              // 手动确认消息已消费
 | 
												
													
														
															|  |              channel.basicAck(msg.getMessageProperties().getDeliveryTag(),false);
 |  |              channel.basicAck(msg.getMessageProperties().getDeliveryTag(),false);
 | 
												
													
														
															|  |          } catch (Exception e) {
 |  |          } catch (Exception e) {
 | 
												
													
														
															|  | -            log.error("工单状态消息消费失败: {}", e.getMessage());
 |  | 
 | 
												
													
														
															|  | 
 |  | +            log.error("工单状态消息消费失败", e);
 | 
												
													
														
															|  |              try {
 |  |              try {
 | 
												
													
														
															|  |                  // 将消费失败的消息移除消息队列,避免重复消费
 |  |                  // 将消费失败的消息移除消息队列,避免重复消费
 | 
												
													
														
															|  |                  channel.basicReject(msg.getMessageProperties().getDeliveryTag(),false);
 |  |                  channel.basicReject(msg.getMessageProperties().getDeliveryTag(),false);
 |