diff --git a/src/main/java/com/ai/da/common/RabbitMQ/SRConsumer.java b/src/main/java/com/ai/da/common/RabbitMQ/SRConsumer.java index 059b4f81..341b58a1 100644 --- a/src/main/java/com/ai/da/common/RabbitMQ/SRConsumer.java +++ b/src/main/java/com/ai/da/common/RabbitMQ/SRConsumer.java @@ -87,14 +87,31 @@ public class SRConsumer { superResolutionDTO = JSONObject.parseObject(msg.getBody(), SuperResolutionDTO.class); // channel.basicNack() 为不确认deliveryTag对应的消息,第二个参数是否应用于多消息,第三个参数是否requeue setErrorMessage(msg, channel, e.getMsg(), superResolutionDTO); + try { + // 2.1 手动确认该消息 + channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false); + } catch (IOException ex) { + log.error("手动确认,不返回队列重新消费, error message : " + e.getMessage()); + } } catch (JSONException e) { log.error(e.getMessage()); setErrorMessage(msg, channel, e.getMessage(), null); + try { + // 2.1 手动确认该消息 + channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false); + } catch (IOException ex) { + log.error("手动确认,不返回队列重新消费, error message : " + e.getMessage()); + } } catch (Exception e) { log.error(e.getMessage()); superResolutionDTO = JSONObject.parseObject(msg.getBody(), SuperResolutionDTO.class); setErrorMessage(msg, channel, e.getMessage(), superResolutionDTO); - + try { + // 2.1 手动确认该消息 + channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false); + } catch (IOException ex) { + log.error("手动确认,不返回队列重新消费, error message : " + e.getMessage()); + } } long end = System.currentTimeMillis();