前段时间,公司一个重要的商用项目中用到了基于jms的消息框架--activeMQ,在高并发的情况下,经常会导致jms宕机,造成的原因之一就有broken pipe异常,就是通常说的管道破裂。经过反复分析和本地测试,问题得到重现。分析结果如下:
1.消息接受方采取的是同步处理机制。
2.消息接收方在每接到一条消息后,对消息的处理耗时比较长,这时消息发送端,还在不断的发送消息。
3.当发送的消息比接受的消息,到达3:1的情况下,会导致管道破裂,因为消息是通过虚拟的管道在传输数据,这时遗留在
管道中的消息过多,导致出现此问题。
就如同人憋尿憋的时间太长的话,会感到很不舒服,长期这样不但对身体不好,还。。。。甚至也可能会导致"管道破裂"。所以不要憋尿。。。。。
您还没有登录,请您登录后再发表评论
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.BytesMessage.class javax.jms.Connection.class javax.jms.ConnectionConsumer.class javax.jms.ConnectionFactory.class javax.jms.ConnectionMetaData.class javax.jms.DeliveryMode.class javax.jms....
`javax.jms.Topic`, `javax.jms.MessageProducer`, `javax.jms.MessageConsumer`, `javax.jms.ConnectionFactory`等关键接口,以及其他辅助类和异常类,开发者可以使用这些接口来构建基于JMS的应用程序。...
在源码分析中,我们可以关注以下几个关键点: 1. 消息的生产和消费:Spring JmsTemplate是如何将对象转换成消息并发送的,以及如何从消息中恢复对象。这涉及到MessageConverter的实现,如SimpleMessageConverter或...
9. **异常处理**:`javax.jms`包中还包括一系列的异常类,如`JMSException`、`MessageFormatException`、`IllegalStateException`等,这些异常帮助开发者处理在消息传递过程中可能出现的问题。 10. **JMS 1.1规范**...
SpringJMS允许开发者捕获和处理JMS异常,例如消息无法发送或接收时,可以通过Spring的异常处理机制进行适当的响应。 10. **性能优化** 调整SpringJMS和ActiveMQ的配置,例如设置连接池大小、消息缓存等,可以优化...
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
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它提供了一种可靠的消息传递机制,允许应用程序创建、发送、接收和读取消息。`jms-1.1.jar` 是一个包含了JMS 1.1...
在这个上下文中,"JMS.mmap"可能是用来表示JMS相关的内存映射文件,可能是用于演示或分析JMS在内存中的工作方式,或者是用来优化消息的读取和写入性能。内存映射文件可以提升大量数据读取的效率,因为它允许直接通过...
- **实时数据分析**:在大数据分析场景中,实时数据流通过JMS传输,供分析引擎进行实时处理和分析,支持实时决策。 总之,JMS规范为Java开发者提供了一套强大且灵活的消息处理框架,极大地促进了分布式系统的构建和...
**JMS583芯片详解** JMS583是一款由JMicron科技公司设计的高性能USB 3.1 Gen 2至PCIe Gen3x2桥接芯片,旨在为存储设备提供高速数据传输能力。这款芯片是针对现代数据密集型应用而优化的,如SSD固态硬盘和外部存储...
文件包含: 13个不同固件 两个固件升级工具 其中一个是量产工具可以修改休眠时间和盒子信息 TRIM检查工具 有几个固件版本为全网首发,别人没有的资源 固件列表: JMS578_00.01.00.05 ...JMS578_254.02.03.09_NoUAS
`javax.jms-1.1.jar` 是一个Java Message Service(JMS)的API库,它属于Java标准版(Java Standard Edition, Java SE)的一部分。JMS是Java平台上的一个规范,用于在分布式环境中进行异步消息传递。这个库主要用于...
2. **JMS 使用 ActiveMQ 传送文件.doc** - 这个文档应该直接涵盖了如何使用ActiveMQ进行文件传输的具体步骤,可能包括了创建消息、设置目的地、发送和接收文件的代码示例,以及如何处理错误和异常的情况。...
JMicron JMS578 USB/SATA bridge JMS578介绍手册JMS578_Product+Brief.pdf JMS578固件(支持Android系统/linux系统) JMS578 windows的烧录工具和JMS578FwUpdate JMS578-Hardkenel-Release-v173.01.00.02-20190306....
Java Messaging Service(JMS)是一种标准的API,用于在Java应用程序之间交换消息,特别是在分布式环境中。JMS提供了一种与平台无关的方式,使得应用程序可以与各种消息中间件提供商进行交互,就像JDBC允许Java应用...
《JMS 1.1.jar:Java消息服务与Maven的深度解析》 在Java开发领域,消息服务(Java Message Service,简称JMS)扮演着至关重要的角色,它为应用程序提供了一种标准的方式来创建、发送、接收和读取消息。JMS 1.1.jar...
标题“JMS577主控通刷固件”指的是针对希捷移动硬盘中采用JMS577主控芯片的固件更新解决方案。在IT领域,固件是存储在硬件设备上的软件部分,它控制设备的操作并提供与主机系统的交互。JMS577是一种常见的硬盘主控...
相关推荐
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.BytesMessage.class javax.jms.Connection.class javax.jms.ConnectionConsumer.class javax.jms.ConnectionFactory.class javax.jms.ConnectionMetaData.class javax.jms.DeliveryMode.class javax.jms....
`javax.jms.Topic`, `javax.jms.MessageProducer`, `javax.jms.MessageConsumer`, `javax.jms.ConnectionFactory`等关键接口,以及其他辅助类和异常类,开发者可以使用这些接口来构建基于JMS的应用程序。...
在源码分析中,我们可以关注以下几个关键点: 1. 消息的生产和消费:Spring JmsTemplate是如何将对象转换成消息并发送的,以及如何从消息中恢复对象。这涉及到MessageConverter的实现,如SimpleMessageConverter或...
9. **异常处理**:`javax.jms`包中还包括一系列的异常类,如`JMSException`、`MessageFormatException`、`IllegalStateException`等,这些异常帮助开发者处理在消息传递过程中可能出现的问题。 10. **JMS 1.1规范**...
SpringJMS允许开发者捕获和处理JMS异常,例如消息无法发送或接收时,可以通过Spring的异常处理机制进行适当的响应。 10. **性能优化** 调整SpringJMS和ActiveMQ的配置,例如设置连接池大小、消息缓存等,可以优化...
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
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它提供了一种可靠的消息传递机制,允许应用程序创建、发送、接收和读取消息。`jms-1.1.jar` 是一个包含了JMS 1.1...
在这个上下文中,"JMS.mmap"可能是用来表示JMS相关的内存映射文件,可能是用于演示或分析JMS在内存中的工作方式,或者是用来优化消息的读取和写入性能。内存映射文件可以提升大量数据读取的效率,因为它允许直接通过...
- **实时数据分析**:在大数据分析场景中,实时数据流通过JMS传输,供分析引擎进行实时处理和分析,支持实时决策。 总之,JMS规范为Java开发者提供了一套强大且灵活的消息处理框架,极大地促进了分布式系统的构建和...
**JMS583芯片详解** JMS583是一款由JMicron科技公司设计的高性能USB 3.1 Gen 2至PCIe Gen3x2桥接芯片,旨在为存储设备提供高速数据传输能力。这款芯片是针对现代数据密集型应用而优化的,如SSD固态硬盘和外部存储...
文件包含: 13个不同固件 两个固件升级工具 其中一个是量产工具可以修改休眠时间和盒子信息 TRIM检查工具 有几个固件版本为全网首发,别人没有的资源 固件列表: JMS578_00.01.00.05 ...JMS578_254.02.03.09_NoUAS
`javax.jms-1.1.jar` 是一个Java Message Service(JMS)的API库,它属于Java标准版(Java Standard Edition, Java SE)的一部分。JMS是Java平台上的一个规范,用于在分布式环境中进行异步消息传递。这个库主要用于...
2. **JMS 使用 ActiveMQ 传送文件.doc** - 这个文档应该直接涵盖了如何使用ActiveMQ进行文件传输的具体步骤,可能包括了创建消息、设置目的地、发送和接收文件的代码示例,以及如何处理错误和异常的情况。...
JMicron JMS578 USB/SATA bridge JMS578介绍手册JMS578_Product+Brief.pdf JMS578固件(支持Android系统/linux系统) JMS578 windows的烧录工具和JMS578FwUpdate JMS578-Hardkenel-Release-v173.01.00.02-20190306....
Java Messaging Service(JMS)是一种标准的API,用于在Java应用程序之间交换消息,特别是在分布式环境中。JMS提供了一种与平台无关的方式,使得应用程序可以与各种消息中间件提供商进行交互,就像JDBC允许Java应用...
《JMS 1.1.jar:Java消息服务与Maven的深度解析》 在Java开发领域,消息服务(Java Message Service,简称JMS)扮演着至关重要的角色,它为应用程序提供了一种标准的方式来创建、发送、接收和读取消息。JMS 1.1.jar...
标题“JMS577主控通刷固件”指的是针对希捷移动硬盘中采用JMS577主控芯片的固件更新解决方案。在IT领域,固件是存储在硬件设备上的软件部分,它控制设备的操作并提供与主机系统的交互。JMS577是一种常见的硬盘主控...