ActiveMQ支持两种消息传送模式:PERSISTENT (持久消息)和 NON_PERSISTENT(非持久消息)
1、PERSISTENT 持久消息
是activemq默认的传送方式,此方式下的消息在配合activemq.xml中配置的消息存储方式,会被存储在特定的地方,直到有消费者将消息消费或者消息过期进入DLQ队列,消息生命周期才会结束。此模式下可以保证消息只会被成功传送一次和成功使用一次,消息具有可靠性。在消息传递到目标消费者,在消费者没有成功应答前,消息不会丢失。
2、NON_PERSISTENT 非持久消息
非持久的消息适用于不重要的,可以接受消息丢失的哪一类消息,这种消息只会被投递一次,消息不会在持久性存储中存储,也不会保证消息丢失后的重新投递。
相关推荐
为了确保消息的可靠传输,JMS提供了一系列的机制来支持消息的确认、持久化、优先级设置等功能。 ##### 确认机制 消息只有在被确认后,才认为已被成功消费。JMS支持多种确认模式,包括自动确认、客户端手动确认和...
ActiveMQ 是 Apache 开源项目中的一款消息中间件,它基于 Java Message Service(JMS)规范,提供可靠的消息传输服务,用于应用程序之间的异步通信。在分布式系统中,ActiveMQ 起着至关重要的作用,它允许组件之间...
为此,可以创建一个自定义的 `MyJmsTemplate` 类来替代默认的 `JmsTemplate` 类,该类允许灵活地设置消息的传输模式: ```java public class MyJmsTemplate extends JmsTemplate { private Session session; ...
- **非持久化消息**:若需发送非持久化消息,可以设置`textMessage.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT)`。默认情况下,非持久化消息是异步发送的,但若需要每次发送后都获取broker的回执,可以设置`...
**ActiveMQ**是一款开源的消息中间件,基于Java语言开发,支持多种消息传递模式(如点对点、发布/订阅等)。由于其高度可定制性、稳定性以及丰富的功能特性,被广泛应用于各种分布式系统中,作为消息传输的重要组件...