解决方案:
1.定时清理持久化文件

 

2.消息消费后马上删除mq队列中的消息

 
  1. @Component

  2. public class ConsumerService {

  3. private static final Logger logger = LoggerFactory.getLogger(ConsumerService.class);

  4.  
  5. @RabbitListener(queues = RabbitmqConfig.QUEUE)

  6. public void message(User user, Message message, Channel channel) {

  7. try {

  8. // 消息删除

  9. channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);

  10. logger.warn("[Consumer Message 01] ===============> " + user.toString());

  11. } catch (Exception e) {

  12. throw new RuntimeException("处理消息失败");

  13. }

  14. }

  15. }