`

activemq 发送接收消息

    博客分类:
  • jms
阅读更多
下载apache activemq:

http://activemq.apache.org/download-archives.html

选择自己选用版本。

这里本地测试选用window版本
解压zip文件,不做任何修改 /bin目录下有window启动文件
运行activemq.bat启动activemq服务

默认服务连接地址:tcp://localhost:61616
管理地址:http://localhost:8161


运行消息生产者代码:
	@Test
	public void method1() throws Exception{
		/*
		 * 从工厂中获取一个jms connection。
		 * activmq默认连接端口是61616,在 conf/activemq.xml文件可查看配置
		 */
		ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
		Connection conn = factory.createConnection();
		conn.start();
		/*
		 * 新建session
		 * 参数一:是否有事物
		 * 参数二:
		 *   AUTO_ACKNOWLEDGE 完成消息接收时,session自动发送一个消息回执
		 *   CLIENT_ACKNOWLEDGE 由客户端程序通过手工调用Message.acknowledge()方法显示确认接收
		 *   DUPS_OK_ACKNOWLEDGE 让Session延迟发送确认回执
		 */
		Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
		//创建一个P2P的Queue
		Destination dest = session.createQueue("com.amq.test");
		//创建一个消息生产者
		MessageProducer producer = session.createProducer(dest);
		/*
		 * NON_PERSISTENT 消息只传送一次
		 * PERSISTENT provider持久化消息,以保证消息不会因为JMS provider的失败而丢失
		 */
		producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
		//创建一个简单的文本消息
		TextMessage message = session.createTextMessage("first message");
		producer.send(message);
		//释放资源
		producer.close();
		session.close();
		conn.close();
	}


查看http://localhost:8161/admin/queues.jsp页面
发现有一个queue



第一列:queue名字
第二列:未处理消息数
第三列:消费者个数
第四列:入列消息数
第五列:出列消息数


运行消息消费者:
public class AMQConsumer implements Runnable {

	@Override
	public void run() {
		try {
			//获取连接
			ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
			Connection conn = factory.createConnection();
			conn.start();
			
			Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
			//创建一个consumer
			Destination dest = session.createQueue("com.amq.test");
			MessageConsumer consumer = session.createConsumer(dest);
			//接收消息
			Message message = consumer.receive(1000);
			while(true){
				if(message != null){
					if(message instanceof TextMessage){
						TextMessage tm = (TextMessage) message;
						System.out.println(tm.getText());
					}else{
						System.out.println(message);
					}
				}
				message = consumer.receive(1000);
			}
		} catch (JMSException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		//线程方式,轮询监听
		new Thread(new AMQConsumer()).start();
	}

}


会打印输出:first message

查看消息queue页



刚才生产消息已经被消费
  • 大小: 16.7 KB
  • 大小: 18.2 KB
分享到:
评论

相关推荐

    activeMQ发送消息返回消息

    在ActiveMQ中,发送和接收消息是一个核心功能,它允许应用程序之间进行异步通信,提高系统的可扩展性和解耦性。 在ActiveMQ中发送消息,通常涉及以下步骤: 1. **创建ConnectionFactory**:ConnectionFactory是...

    ActiveMQ学习笔记之九--发送消息到队列中

    这篇"ActiveMQ学习笔记之九--发送消息到队列中"主要探讨的是如何通过编程方式向ActiveMQ队列发送消息,这对于理解和应用消息中间件至关重要。 首先,我们要理解ActiveMQ中的队列(Queue)概念。队列是一种先进先出...

    Springboot整合ActiveMQ,实现消息的发送接收功能源码

    在本文中,我们将深入探讨如何使用SpringBoot框架与Apache ActiveMQ集成,以便实现实时的消息发送和接收功能。首先,让我们简要了解一下SpringBoot和ActiveMQ。 **SpringBoot简介** SpringBoot是Spring框架的一个...

    SpringBoot+ActiveMq+MQTT实现消息的发送和接收

    在本文中,我们将深入探讨如何使用SpringBoot、ActiveMQ和MQTT来实现消息的发送与接收。这是一个典型的分布式系统中的消息通信场景,其中SpringBoot作为应用程序框架,ActiveMQ作为消息中间件,而MQTT(Message ...

    activeMQ收发工具.rar

    3. **消息类型**:理解JMS提供的不同消息类型,如文本消息、对象消息、流消息和二进制消息,以及如何通过ActiveMQ收发工具发送和接收这些消息。 4. **队列与主题**:熟悉ActiveMQ中的队列(Queue)和主题(Topic)...

    activemq 通过ajax发送接收消息简单例子

    在这个简单的例子中,我们将探讨如何利用Ajax与ActiveMQ交互,发送和接收消息。首先,你需要在服务器端设置一个ActiveMQ实例,可以通过下载并安装ActiveMQ来完成。安装完成后,启动ActiveMQ服务,这通常会开启一个...

    springboot集成activemq实现消息接收demo

    本教程将详细介绍如何在Spring Boot项目中集成ActiveMQ,实现消息接收的Demo。 首先,我们需要在Spring Boot项目中引入ActiveMQ的相关依赖。在`pom.xml`文件中添加以下Maven依赖: ```xml <groupId>org.spring...

    Android基于MQTT协议利用ActiveMQ发送消息给Android端接收

    在这个项目中,“Android基于MQTT协议利用ActiveMQ发送消息给Android端接收”指的是Android客户端应用通过MQTT协议与ActiveMQ服务器交互,实现消息的发送和接收。这是一个典型的长连接通信方式,与传统的HTTP请求...

    ActiveMQ接受和发送工具.rar

    这个"ActiveMQ接受和发送工具.rar"压缩包包含了用于与ActiveMQ交互的实用工具,方便用户进行消息的接收和发送操作。 在使用ActiveMQ时,了解以下几个关键知识点是至关重要的: 1. **Java Message Service (JMS)**...

    activemq-cpp发送接收消息,消息过滤器

    在本文中,我们将深入探讨如何使用`activemq-cpp`库在C++环境中发送和接收消息,并利用消息过滤器来实现特定的消息处理。`activemq-cpp`是Apache ActiveMQ的一个C++客户端,它提供了与ActiveMQ服务器进行交互的能力...

    Spring+ActiveMQ消息队列+前台接收消息

    2. **创建消息生产者**:在Spring中,你可以使用`JmsTemplate`作为消息生产者,发送消息到ActiveMQ的队列或主题。配置`JmsTemplate`并设置ActiveMQ的连接工厂,然后在需要发送消息的地方调用其`convertAndSend`方法...

    ActiveMQ发送和接收protobuf协议消息的实例(精心整理,亲测可用)

    在本文中,我们将深入探讨如何使用ActiveMQ发送和接收基于protobuf(Protocol Buffers)协议的消息,同时也会介绍如何进行ActiveMQ的简化封装和配置自动重连机制。 首先,protobuf是Google开发的一种数据序列化协议...

    用C#实现的ActiveMQ发布/订阅消息传送

    它提供了发送和接收消息的线程安全环境。 4. `Producer`: 负责创建并发送消息到目的地(主题或队列)。使用`Session.CreateProducer()`方法创建。 5. `Consumer`: 用于接收消息。通过`Session.CreateConsumer()`方法...

    activemq消息发送和监听

    项目使用springboot2.0.4搭建,一个父项目包含两个子项目:发送服务;监听服务;消息服务使用ActiveMQ 5.14.3,在docker中运行。 项目中有两种协议消息:activemq和mqtt。

    SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能

    4. **发送消息**:通过`JmsTemplate`或者`JMSTemplate`的`convertAndSend`方法可以向ActiveMQ发送消息。 **二、邮件发送功能** 邮件发送功能通常涉及以下步骤: 1. **配置邮件服务器**:在配置文件中设置SMTP...

    spring使用activeMQ实现消息发送

    本文将深入探讨如何在Spring环境中使用ActiveMQ来实现消息的发送与接收,以提高系统的可扩展性和解耦性。 首先,我们需要了解Spring对ActiveMQ的支持。Spring提供了`spring-jms`模块,它包含了一组丰富的API和配置...

    ActiveMQ实现的消息收发案例

    本案例将探讨如何使用ActiveMQ实现简单消息的发送与接收。 首先,我们要理解JMS的基本概念。JMS是Java平台上的标准接口,用于与消息中间件进行交互。它定义了生产、存储、消费和检索消息的标准API。在JMS中,有两种...

    ActiveMq+SpringMVC实现邮件异步发送

    而在消费者端,需要监听这个队列,接收到消息后执行实际的邮件发送操作,如使用JavaMail API发送邮件。 总的来说,这个项目提供了一种实用的方法,将邮件发送这种可能影响用户体验的操作异步化,从而优化了系统性能...

    ActiveMQ消息发送接收封装实现及定时测试.

    实现了ActiveMQ的初步封装,比较适合新手入门学习,简单明了

Global site tag (gtag.js) - Google Analytics