尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

实用指南:疑难bug之正确处理InterruptedException

实用指南:疑难bug之正确处理InterruptedException
📅 发布时间:2026/6/21 18:58:29

目录

问题出自:

java中断原理:

解决方法:


问题出自:

在rabbitmq 的消费者处理消息体,捕获中断异常同时重新进行中断,导致消费线程停止。

我们业务代码中有中断响应,通过catch捕获了这种中断,简单按照sonar扫描给出的建议调用Thread.currentThread().interrupt();结果直接给消费线程停止了。

catch (InterruptedException e) {log.error("busi error:{}", e.getMessage(), e);//业务异常,无法重试,不重新入队列channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);//Thread.currentThread().interrupt();会导致消费端无法正常消费
}

Thread.currentThread().interrupt(); 方法重新进行了中断即消费线程中断标记为true,导致rabbitmq的当前消费线程停止不再处理消息。

java中断原理:

  • java中断响应是描述当一个线程或方法A处于运行、阻塞或死锁状态时,外界(通常指其他线程、系统IO等)对A的影响能否让A线程或者方法抛出InterruptedException异常并提前返回,如果会提前返回并且抛出InterruptedException,就叫可中断响应途径或线程,要是不会抛出InterruptedException,就叫不可中断线程或方法。

  • 每个线程都有一个与线程是否已中断的相关联的 Boolean 属性,用于表示线程的中断状态(interrupted status)。中断状态初始时为 fals

相关新闻

  • GNSS精度判断和协方差矩阵 - MKT
  • Insightly模板页面存储型XSS漏洞分析与复现
  • CF2065D Skibidus and Sigma

最新新闻

  • 嵌入式AI实战:基于MFCC与DS-CNN的性别语音识别模型部署
  • 2026苏州营业性演出许可证一站式整套代办推荐 - 速递信息
  • 【三核驱动】Snap Hutao:让原神玩家决策效率提升300%的智能游戏伙伴
  • 三个AI排错结果对比总结
  • i.MX23/25/28处理器选型指南:从ARM9核心到安全启动的嵌入式设计实战
  • HCS08片上温度传感器精度优化:从ADC配置、校准到定点运算实战

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号