`
qianhao_1987
  • 浏览: 21173 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jms broken pipe异常分析

    博客分类:
  • JMS
阅读更多

前段时间,公司一个重要的商用项目中用到了基于jms的消息框架--activeMQ,在高并发的情况下,经常会导致jms宕机,造成的原因之一就有broken pipe异常,就是通常说的管道破裂。经过反复分析和本地测试,问题得到重现。分析结果如下:

1.消息接受方采取的是同步处理机制。

2.消息接收方在每接到一条消息后,对消息的处理耗时比较长,这时消息发送端,还在不断的发送消息。

3.当发送的消息比接受的消息,到达3:1的情况下,会导致管道破裂,因为消息是通过虚拟的管道在传输数据,这时遗留在 

   管道中的消息过多,导致出现此问题。

就如同人憋尿憋的时间太长的话,会感到很不舒服,长期这样不但对身体不好,还。。。。甚至也可能会导致"管道破裂"。所以不要憋尿。。。。。

分享到:
评论

相关推荐

    javax.jms.jar

    Classes contained in javax.jms.jar: javax.transaction.xa.XAResource.class javax.jms.BytesMessage.class javax.jms.Message.class javax.jms.JMSException.class javax.jms.Destination.class javax.jms....

    javax.jms.jar下载

    javax.jms.BytesMessage.class javax.jms.Connection.class javax.jms.ConnectionConsumer.class javax.jms.ConnectionFactory.class javax.jms.ConnectionMetaData.class javax.jms.DeliveryMode.class javax.jms....

    java.jms.jar JMS需要的JAR包

    `javax.jms.Topic`, `javax.jms.MessageProducer`, `javax.jms.MessageConsumer`, `javax.jms.ConnectionFactory`等关键接口,以及其他辅助类和异常类,开发者可以使用这些接口来构建基于JMS的应用程序。...

    spring-jms源码

    在源码分析中,我们可以关注以下几个关键点: 1. 消息的生产和消费:Spring JmsTemplate是如何将对象转换成消息并发送的,以及如何从消息中恢复对象。这涉及到MessageConverter的实现,如SimpleMessageConverter或...

    javax.jms包,sun的JMS接口规范包

    9. **异常处理**:`javax.jms`包中还包括一系列的异常类,如`JMSException`、`MessageFormatException`、`IllegalStateException`等,这些异常帮助开发者处理在消息传递过程中可能出现的问题。 10. **JMS 1.1规范**...

    SpringJMS示例代码

    SpringJMS允许开发者捕获和处理JMS异常,例如消息无法发送或接收时,可以通过Spring的异常处理机制进行适当的响应。 10. **性能优化** 调整SpringJMS和ActiveMQ的配置,例如设置连接池大小、消息缓存等,可以优化...

    JMS消息模型 JMS学习.doc

    5. **JMS Exception Handling**:JMS规范定义了异常处理机制,确保在遇到错误时,消息系统能够适当地恢复或通知应用程序。 6. **JMS in Application Servers**:JMS通常集成在J2EE(Java 2 Enterprise Edition)...

    JMS(JMS(JMS(JMS(

    JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS(JMS

    jms-1.1.jar(jms工具jar包)

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它提供了一种可靠的消息传递机制,允许应用程序创建、发送、接收和读取消息。`jms-1.1.jar` 是一个包含了JMS 1.1...

    JMS

    在这个上下文中,"JMS.mmap"可能是用来表示JMS相关的内存映射文件,可能是用于演示或分析JMS在内存中的工作方式,或者是用来优化消息的读取和写入性能。内存映射文件可以提升大量数据读取的效率,因为它允许直接通过...

    JMS 规范(英文)

    - **实时数据分析**:在大数据分析场景中,实时数据流通过JMS传输,供分析引擎进行实时处理和分析,支持实时决策。 总之,JMS规范为Java开发者提供了一套强大且灵活的消息处理框架,极大地促进了分布式系统的构建和...

    PDS-17001_JMS583_Datasheet_(Rev._1.0)_JMS583_jmicron_jms583开发_

    **JMS583芯片详解** JMS583是一款由JMicron科技公司设计的高性能USB 3.1 Gen 2至PCIe Gen3x2桥接芯片,旨在为存储设备提供高速数据传输能力。这款芯片是针对现代数据密集型应用而优化的,如SSD固态硬盘和外部存储...

    JMS578多达13个固件打包升级工具包 可修改休眠时间

    文件包含: 13个不同固件 两个固件升级工具 其中一个是量产工具可以修改休眠时间和盒子信息 TRIM检查工具 有几个固件版本为全网首发,别人没有的资源 固件列表: JMS578_00.01.00.05 ...JMS578_254.02.03.09_NoUAS

    javax.jms-1.1.jar

    `javax.jms-1.1.jar` 是一个Java Message Service(JMS)的API库,它属于Java标准版(Java Standard Edition, Java SE)的一部分。JMS是Java平台上的一个规范,用于在分布式环境中进行异步消息传递。这个库主要用于...

    JMS 使用 ActiveMQ 传送文件

    2. **JMS 使用 ActiveMQ 传送文件.doc** - 这个文档应该直接涵盖了如何使用ActiveMQ进行文件传输的具体步骤,可能包括了创建消息、设置目的地、发送和接收文件的代码示例,以及如何处理错误和异常的情况。...

    JMS578 windows烧录工具,JMS578FwUpdate,固件,相关文档

    JMicron JMS578 USB/SATA bridge JMS578介绍手册JMS578_Product+Brief.pdf JMS578固件(支持Android系统/linux系统) JMS578 windows的烧录工具和JMS578FwUpdate JMS578-Hardkenel-Release-v173.01.00.02-20190306....

    JMS 简介以及Weblogic配置JMS图解

    Java Messaging Service(JMS)是一种标准的API,用于在Java应用程序之间交换消息,特别是在分布式环境中。JMS提供了一种与平台无关的方式,使得应用程序可以与各种消息中间件提供商进行交互,就像JDBC允许Java应用...

    jms-1.1.jar

    《JMS 1.1.jar:Java消息服务与Maven的深度解析》 在Java开发领域,消息服务(Java Message Service,简称JMS)扮演着至关重要的角色,它为应用程序提供了一种标准的方式来创建、发送、接收和读取消息。JMS 1.1.jar...

    JMS577主控通刷固件

    标题“JMS577主控通刷固件”指的是针对希捷移动硬盘中采用JMS577主控芯片的固件更新解决方案。在IT领域,固件是存储在硬件设备上的软件部分,它控制设备的操作并提供与主机系统的交互。JMS577是一种常见的硬盘主控...

Global site tag (gtag.js) - Google Analytics