之前写了一个ActiveMQ发送消息的例子。现在记录一下java接收ActiveMQ消息的代码。
package com.syxp.dns.receive; import javax.jms.Connection; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.log4j.Logger; public class ReceiveMessageFromMQ { private static String url = "tcp://localhost:61616"; private static String user = ""; private static String password = ""; private static Logger logger = Logger.getLogger(ReceiveMessageFromMQ.class); public void receiveMessage(){ // 创建连接工厂 ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url); // 创建连接 Connection connection; try { connection = connectionFactory.createConnection(); connection.start(); // 创建Session Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 创建目标,就创建主题也可以创建队列 Destination destination = session.createQueue("integratedalarm.subject"); // 创建消息消费者 MessageConsumer consumer = session.createConsumer(destination); // 接收消息,参数:接收消息的超时时间,为0的话则不超时,receive返回下一个消息,但是超时了或者消费者被关闭,返回null Message message = consumer.receive(1000); if (message instanceof TextMessage) { TextMessage textMessage = (TextMessage) message; String text = textMessage.getText(); logger.info("接收的消息:"+"\n"+text); } else { logger.info("接收的消息:"+"\n"+message); } consumer.close(); session.close(); connection.close(); } catch (JMSException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { ReceiveMessageFromMQ receiveMessageFromMQ = new ReceiveMessageFromMQ(); receiveMessageFromMQ.receiveMessage(); } }
上面有详细的注释,运行了上面的接收的方法之后,会打印出一条相应队列的未接收消息。在ActiveMQ的监视控制页面中,可以看到有一条消息已经被消费。
相关推荐
本教程将详细介绍如何在Spring Boot项目中集成ActiveMQ,实现消息接收的Demo。 首先,我们需要在Spring Boot项目中引入ActiveMQ的相关依赖。在`pom.xml`文件中添加以下Maven依赖: ```xml <groupId>org.spring...
通过以上步骤,你可以成功地将Spring与ActiveMQ整合,实现后台消息的生产和消费,并在前台接收到这些消息。这种设计模式常用于大型分布式系统,如订单处理、日志收集、任务调度等场景,以提高系统的可靠性和响应速度...
3. **消息类型**:理解JMS提供的不同消息类型,如文本消息、对象消息、流消息和二进制消息,以及如何通过ActiveMQ收发工具发送和接收这些消息。 4. **队列与主题**:熟悉ActiveMQ中的队列(Queue)和主题(Topic)...
在ActiveMQ中,发送和接收消息是一个核心功能,它允许应用程序之间进行异步通信,提高系统的可扩展性和解耦性。 在ActiveMQ中发送消息,通常涉及以下步骤: 1. **创建ConnectionFactory**:ConnectionFactory是...
- **Message 过期则客户端不能接收**:当消息过期后,客户端将无法接收到这些过期的消息。 - **ttlCeiling**:表示过期时间的上限。例如,如果设置为30000毫秒(即30秒),那么任何通过程序设置的过期时间如果超过了...
在本文中,我们将深入探讨如何使用SpringBoot、ActiveMQ和MQTT来实现消息的发送与接收。这是一个典型的分布式系统中的消息通信场景,其中SpringBoot作为应用程序框架,ActiveMQ作为消息中间件,而MQTT(Message ...
启动该程序,你的Go应用就能连接到ActiveMQ,订阅并接收消息,同时也能发送消息到指定队列。 通过这种方式,Go语言可以很好地集成到基于ActiveMQ的消息传递系统中。了解Go的并发模型和错误处理机制,以及STOMP协议...
ActiveMQ,作为一款流行的开源消息中间件,也支持WebSocket协议,使得客户端可以通过WebSocket接口来接收和发送消息。 ActiveMQ是Apache软件基金会开发的消息队列产品,它遵循开放标准,如JMS(Java Message ...
除了基本的发送和接收消息外,ActiveMQ还提供了一些高级特性,例如: - **持久化**:可以设置消息的持久性,即使在服务器重启后,未被消费的消息也不会丢失。 - **事务**:支持JMS事务,确保消息的准确传递。 - **...
ActiveMQ接收到消息后,会将其路由到所有已订阅该主题的客户端。 在消息接收部分,Android应用需要订阅一个或多个主题。通过调用subscribe方法,指定主题并提供一个Callback,当有新消息到达时,Callback会被调用,...
// 一定要确认接收,否则ActiveMQ可能不会删除消息 session.Acknowledge(); } } } ``` 这个示例代码中,我们假设文件流是通过一个名为"file-stream-queue"的队列传递的。当C#客户端接收到消息后,它将文件流...
在本场景中,我们关注的是如何使用C#编程语言结合ActiveMQ来实现发布/订阅模式的消息传送。ActiveMQ是Apache软件基金会开发的一个开源消息传递平台,支持多种协议,包括NMS(.NET Messaging Service),它是专门为...
在分布式系统中,消息持久化是指当消息代理(如ActiveMQ)接收到消息后,会将其存储到磁盘中,即使服务器重启或出现故障,也能保证这些消息不会丢失。这在高可用性和容错性方面扮演着关键角色。 要实现ActiveMQ的...
ActiveMQ是一款非常流行的开源消息队列中间件,它实现了JMS(Java Message Service,Java消息服务)1.1规范,面向消息的中间件(Message Oriented Middleware,MOM)是指利用高效可靠的消息传递机制进行与平台无关的...
本文将深入探讨如何在Spring环境中使用ActiveMQ来实现消息的发送与接收,以提高系统的可扩展性和解耦性。 首先,我们需要了解Spring对ActiveMQ的支持。Spring提供了`spring-jms`模块,它包含了一组丰富的API和配置...
在这个"ActiveMQ收发消息Demo"中,我们将深入探讨如何使用ActiveMQ进行消息的接收和发送。 首先,让我们了解ActiveMQ的基本概念。在JMS框架下,消息生产者(Producer)创建消息并将其发送到消息队列(Queue)或主题...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息传递协议(Open Message Broker Protocol,即AMQP)和Java消息服务(Java Message Service,JMS)规范,用于实现应用程序之间的异步通信和数据...
在本示例中,我们将探讨如何利用Ajax技术与ActiveMQ进行交互,实现客户端的异步消息发送和接收。 Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下更新部分网页内容的技术。在与ActiveMQ...
在IT行业中,Apache ActiveMQ是一个广泛使用的开源消息代理和队列服务器,它是Java Message Service (JMS) 的实现,能够处理各种消息传递模式,包括点对点和发布/订阅。这篇"ActiveMQ学习笔记之九--发送消息到队列中...