从队列中接收消息
public static void testReceive() throws Exception {
ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = factory.createConnection();
connection.start();
final Session session = connection.createSession(true/*支持事务*/, Session.AUTO_ACKNOWLEDGE);
Destination queue = session.createQueue("test_123");
MessageConsumer consumer = session.createConsumer(queue);
consumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
try {
if (message instanceof TextMessage) {
String text = ((TextMessage) message).getText();
session.commit();//如果开启事务,这儿就需要提交,才会消费掉这条消息
System.out.println(text);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
});
}
可以观察到队列的变化:
相关推荐
这篇"ActiveMQ学习笔记之九--发送消息到队列中"主要探讨的是如何通过编程方式向ActiveMQ队列发送消息,这对于理解和应用消息中间件至关重要。 首先,我们要理解ActiveMQ中的队列(Queue)概念。队列是一种先进先出...
**ActiveMQ学习笔记之一——ActiveMQ下载** ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它是基于Java消息服务(JMS)规范的,用于在分布式系统中传递消息。作为一个高性能、可伸缩且可靠的解决方案,...
### 消息队列Activemq学习笔记 #### MQ入门概述 消息队列(Message Queue,简称MQ)是一种用于在应用程序之间传递数据的机制。它允许应用之间通过发送消息进行通信,而无需直接调用对方。 ##### 前言:MQ=消息...
作为JMS规范的实现之一,ActiveMQ提供了强大的消息处理能力,适用于大规模分布式系统中的消息传递场景。 #### 二、JMS与MOM **JMS**(Java Message Service)是Sun Microsystems提出的一个Java平台中关于面向消息...
### Apache ActiveMQ 学习笔记 #### 一、ActiveMQ简介与安装 ##### 1.1 ActiveMQ概述 Apache ActiveMQ 是一个完全支持 JMS 1.1 和 J2EE 1.4 规范的消息服务器。它适用于 Java 消息服务 (JMS),并且是一个开源项目...
- **消息队列(Message Queue)**:ActiveMQ 中,消息被发送到队列,然后由消费者按需接收,遵循先进先出(FIFO)原则。 - **主题(Topic)**:与队列不同,主题支持发布/订阅模式,多个订阅者可以同时接收到同一...
### ActiveMQ学习笔记知识点梳理 #### 一、ActiveMQ简介 **定义:** - **ActiveMQ**是由Apache出品的一款功能强大的开源消息中间件。作为消息队列(Message Queue,简称MQ)的一种,它主要用来在分布式系统之间...
在本篇ActiveMQ学习笔记中,我们将探讨JMS(Java Message Service)与Spring框架的集成。JMS是一种标准API,用于在分布式环境中进行异步消息传递,而Spring框架则为开发人员提供了强大的依赖注入和管理服务的能力。...
- **点对点模型**:消息从一个生产者发送到一个队列,然后由一个或多个消费者接收。每个消息仅被一个消费者消费,确保了消息的顺序性和独占性。 - **发布/订阅模型**:消息从生产者发布到一个主题,多个订阅者...
点对点(PTP)模型在JMS中表现为队列(Queue),其中每个消息只能被一个消费者接收,确保了一对一的消息传递。而发布/订阅(Pub/Sub)模型则通过主题(Topic)实现,允许一个消息被多个订阅者接收,实现一对多的广播...
以上代码展示了如何通过JMS API与ActiveMQ交互,创建一个连接,发送一条消息到名为"MyQueue"的队列,并从该队列接收一条消息。在实际应用中,你可能需要处理异常、使用事务、设置消息属性等更复杂的功能。 总结起来...
- 点对点(Point-to-Point)模型:每个消息只有一个消费者,且消费后即从队列中删除,确保消息不会被重复消费。 - 发布/订阅(Publish/Subscribe)模型:多个消费者可以订阅同一主题,发布到主题的消息会被所有...
2. **ActiveMQ学习笔记.doc**: 这可能是个人或社区成员编写的笔记,涵盖了ActiveMQ的基本概念、安装步骤、配置和使用技巧。笔记通常更注重实践操作,是初学者快速上手的好资料。 3. **ActiveMQ与Tomcat整合.doc**...
在点对点模型中,消息由一个生产者发送到一个队列,然后由一个或多个消费者从队列中接收。发布/订阅模型中,消息由发布者发送到主题,多个订阅者可以订阅同一个主题并接收到消息。 JMS中主要有两个角色:消息提供者...
例如,一个例子可能演示如何通过JMS API创建一个生产者,向队列发送一条消息,然后创建一个消费者来从该队列接收并处理消息。 **基于XML和JMS的异构数据交换集成** 是一种跨系统通信的解决方案。XML作为数据交换的...
4. **脑图笔记**:`消息中间件之ActiveMQ.mmap` 可能是一个MindMap格式的学习笔记,详细解释了ActiveMQ的关键概念和用法,特别地,笔记中提到已修正了一些错别字,以避免误解。 **四、应用场景** 1. **微服务架构*...
消费者可以从消息队列中获取消息,或者订阅主题以接收消息。消息队列保证消息至少被消费一次(至少一次语义),而主题则允许多个订阅者同时接收消息(发布/订阅模式)。 3. 消息队列和主题:消息队列遵循“先进先出...
例如,在消息处理过程中,Hibernate可以用于将消息数据转换为数据库记录,或者从数据库检索数据来响应消息。 #### 总结 JMS是Java EE中一个强大而灵活的组件,用于实现企业级应用中的消息传递。通过理解JMS的基本...
RocketMQ学习笔记1 RocketMQ是Apache旗下的一个开源的消息队列系统,具有分布式、可靠、可扩展、高性能等特点。下面是对RocketMQ的学习笔记的总结。 分布式架构 RocketMQ原生支持分布式,解决了单点故障问题,...