在ActiveMQ中针对消息的发送实现类似Queue的队列的一对多实现,保障在消息发送端发送消息,客户端中无论是否启动必须始终可以接收到发送端发送的数据的实现。
目前有两种思路:
1.将一对多的发送消息采用Queue的方式主要将一对多分解为多个点对点的Queue发送消息。
优点: 简单,容易实现,既保证消息发送的可靠性又实现了相关的功能。
缺点:不便于管理,但是比较占用宽带不利于在局域网或者广域网发送消息。
2.将一对多发送消息采用发布订阅模式(Topic)模式
需要将启动的时候事先进行消费者注册了持久订阅实现相关的功能,重写部分功能实现。
针对第二种方案怎么实现?请知道大侠,指点迷津,多谢了!
1、消息文件越来越多,导致超出了存储空间
报错日志:Usage Manager Store is Full, 100% of 1073741824. Stopping producer (ID:db01-48754-1336034955132-0:5:1:1) to prevent flooding queue://queue.land.group. See http://activemq.apache.org/producer-flow-control.html for more info (blocking for: 1s) | org.apache.activemq.broker.region.Queue | ActiveMQ Transport: tcp:///172.24.99.41:44716
这是由于我们在配置文件中设置了storeUsage ,当存储的消息文件(log文件)超过了这值就会报这个异常,在官方网站看到说消息文件不删除是5.3版本的一个bug,在5.5版本的时候已经被解决了,但是我们使用的是5.5.1版本啊,然后在看存储下来的消息文件,文件名不是连续的,那么说明其中还是有被删除的,后来在评论中看到Jeff Genender说的这个可能是ActiveMQ的线程调度问题,只要不使用线程调度就可以了,在broker中设置属性schedulerSupport=”false” ,这样消息文件就会自动在cleanup阶段删除了。
相关推荐
在本场景中,我们将讨论如何利用ActiveMQ和Ajax技术来实现一个多人聊天室的功能。 首先,了解ActiveMQ的基本概念。ActiveMQ作为消息代理,它接收、存储并转发消息给订阅者。生产者发送消息到ActiveMQ,而消费者则从...
描述中提到消息队列在服务器编程中的重要性,以及ActiveMQ Artemis作为其中一种开源消息队列的选择。文档可以作为开发者下载学习的资源,以了解ActiveMQ Artemis的使用和管理。 ActiveMQ Artemis支持的标签"服务器...
Pub/Sub模型则允许多个消费者订阅同一个主题,消息生产者向主题发送消息,所有订阅了该主题的消费者都将接收到消息。 ActiveMQ作为JMSProvider,实现了JMS规范,支持以上讨论的消息模型和概念,并提供了消息服务的...
在本文中,我们将深入探讨ActiveMQ在点对点(Point-to-Point)消息传递和发布-订阅(Publish-Subscribe)消息模式中的实际应用。 首先,让我们了解**点对点消息模式**。这种模式是基于队列(Queue)的,其中每个...
《ActiveMQ in Action》这本书是关于消息中间件Apache ActiveMQ的实战指南,旨在帮助读者深入理解和熟练使用这一强大的开源消息代理。Apache ActiveMQ是Java消息服务(JMS)的实现,广泛应用于分布式系统中的异步...
本示例“ActiveMQ-Topic订阅发布模式Demo”主要关注的是发布/订阅模式,这是一种一对多的消息传递方式。在发布/订阅模式中,生产者(Publisher)发送消息到一个主题(Topic),而多个消费者(Subscriber)可以订阅这...
在"activemq + jms(原生和集成spring-jms)"的主题中,我们将探讨如何使用ActiveMQ原生API以及结合Spring-JMS框架来实现消息队列的创建与使用,主要涵盖以下几个核心知识点: 1. **ActiveMQ的基本概念**:包括Broker...
而ActiveMQ则是Apache软件基金会开发的一个开源消息代理,它实现了Java消息服务(JMS)规范,用于处理应用程序之间的异步通信。 标题“spring+activemq”暗示了我们将探讨如何将Spring框架与ActiveMQ集成,以便利用...
- **创建生产者类**:通过继承或使用现有类来实现消息生产者的逻辑。 - **初始化及销毁**:初始化生产者实例,并在不再使用时正确销毁。 - **生产并发送消息至队列**:利用生产者实例向队列发送消息。 - **发送...
在IT行业中,Apache ActiveMQ是一个广泛使用的开源消息代理,它实现了多种消息协议,如AMQP、STOMP、MQTT和OpenWire等。本篇将详细探讨如何使用C#与ActiveMQ进行交互,尤其是如何接收文件流。我们将从基础概念、环境...
《ActiveMQ in Action》是一本深受读者欢迎的关于Apache ActiveMQ的权威指南,它深入浅出地介绍了如何在实际环境中运用这一开源消息中间件。ActiveMQ是Java消息服务(JMS)的一个实现,广泛用于分布式系统中的异步...
ActiveMQ 是一个流行的开源消息代理,它遵循JMS(Java消息服务)标准,用于在分布式系统中传递消息。在面试中,对ActiveMQ的理解和掌握是评估候选人技能的关键部分。以下是一些关于ActiveMQ面试中可能涉及的重要知识...
通过以上介绍,我们可以了解到ActiveMQ作为一款成熟且功能强大的消息中间件,在实际应用中的重要作用。无论是解决系统间耦合问题还是提高系统的性能和稳定性,ActiveMQ都是一个值得深入学习的技术。
- **发布/订阅(Pub/Sub)**:介绍主题(Topic)的概念,实现一对多的消息广播,多个订阅者可以同时接收到消息。 5. **高级特性** - **事务支持**:讲解JMS事务,确保消息在成功处理后才被确认。 - **消息重试与...
《ActiveMQ in Action 2011》是2011年出版的一本关于Apache ActiveMQ的权威指南,由行业专家撰写,旨在帮助读者深入理解并有效地使用这一强大的消息中间件。ActiveMQ是Apache软件基金会的一个开源项目,它提供了一个...
- **消息队列**:ActiveMQ中的消息队列是一种存储和转发消息的机制,保证了消息的顺序性和可靠性。 - **生产者与消费者**:生产者负责创建和发送消息,消费者则接收并处理这些消息。 - **主题(Topic)与队列...
Spring提供了模板类(JmsTemplate)和监听容器(MessageListenerContainer)等工具,方便地与ActiveMQ交互,实现消息的发送和接收。在Spring配置文件中,可以定义ConnectionFactory和Destination,然后使用...
在IT行业中,Apache ActiveMQ是一个广泛使用的开源消息代理和队列服务器,它允许应用程序通过发布/订阅和点对点模式来交换消息。Spring Boot则是一个用于简化Spring应用初始搭建以及开发过程的框架,它能够自动配置...
1. 消息模型:了解点对点(Queue)和发布/订阅(Topic)两种模型,它们分别适用于一对一通信和一对多广播场景。 2. 异步处理:消息队列能够将处理任务从主线程中分离,提高系统的响应速度和并发能力。 3. 消费确认:...