`
kissuyoyo
  • 浏览: 15138 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

apache activemq (消息队列)入门部署demo

 
阅读更多
apache activemq (消息队列)入门部署demo

1.去官方网站下载:http://activemq.apache.org/

2.运行ActiveMQ

解压缩 apache-activemq-5.14.1-bin,然后双击 apache-activemq-5.14.1\bin\win64\wrapper.exe  (如果你的电脑也是64位 )运行ActiveMQ程序

3.创建Eclipse项目并运行

创建project:ActiveMQ-5.5,

并导入apache-activemq-5.14.1\lib目录下需要用到的jar文件,项目结构如下图所示:

 (附件)

生成消息

package com.lcl.producer;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;

public class JMSproducer {
	//默认链接用户名
	private static final String USERNAME =ActiveMQConnection.DEFAULT_USER;
	//默认链接密码
	private static final String PASSWORD =ActiveMQConnection.DEFAULT_PASSWORD;
	//默认链接地址
	private static final String BROKEURL =ActiveMQConnection.DEFAULT_BROKER_URL;
	//发送信息的数量
	private static final int SENDNUM = 10;

	public static void main(String[] args) {
		//连接工厂
		ConnectionFactory connectionFactory;
		//连接
		Connection connection = null;
		//会话 接受或者发送消息的线程
		Session session;
		//消息的目的地
		Destination destination;
		//消息生产者
		MessageProducer messageProducer;
		//实例化连接工厂
		connectionFactory = new ActiveMQConnectionFactory(JMSproducer.USERNAME, JMSproducer.PASSWORD, JMSproducer.BROKEURL);
	
		
		try {
			//通过连接工厂获取连接
			connection = connectionFactory.createConnection();
			//启动连接
			connection.start();
			//创建session
			session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
			
			//创建一个名字为HelloWord的消息队列
			destination = session.createQueue("HelloWord");
			//创建消息生产者
			messageProducer = session.createProducer(destination);
			
			//发送消息
			sendMseeage(session,messageProducer);
			
			session.commit();
		} catch (JMSException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
	
	}
	
	/**
	 * @throws JMSException 
	 * 
	* @Title: sendMseeage 
	* @Description: 发送消息 
	* @param @param session
	* @param @param messageProducer    消息生产者额 
	* @return void     
	* @throws
	 */
	private static void sendMseeage(Session session,
			MessageProducer messageProducer) throws JMSException {
		for(int i=0;i<JMSproducer.SENDNUM;i++){
			//创建一跳文本消息
			TextMessage message = session.createTextMessage("ActiveMQ 发送消息"+i);
			System.out.println("发送消息:Activemq 发送消息" + i);
			messageProducer.send(message);
		}
	}
}

 当消息生成以后去activemq的服务器查看,会发现生成一条消息,未读10条。

package com.lcl.consumer;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;

public class JMSConsumer {
	//默认链接用户名
	private static final String USERNAME =ActiveMQConnection.DEFAULT_USER;
	//默认链接密码
	private static final String PASSWORD =ActiveMQConnection.DEFAULT_PASSWORD;
	//默认链接地址     
	private static final String BROKEURL =ActiveMQConnection.DEFAULT_BROKER_URL; 
	
	public static void main(String[] args) {
		//连接工厂
		ConnectionFactory connectionFactory;
		//连接
		Connection connection = null;
		//会话 接受或者发送消息的线程
		Session session;
		//消息的目的地
		Destination destination;
		//消息的消费者
		MessageConsumer messageConsumer;
		//实例化连接工厂
		connectionFactory = new ActiveMQConnectionFactory(JMSConsumer.USERNAME, JMSConsumer.PASSWORD, JMSConsumer.BROKEURL);
		try {
			//通过连接工厂获取连接
			connection = connectionFactory.createConnection();
			//启动连接
			connection.start();
			//创建session
			session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
			//创建一个连接HelloWord的消息队列
			destination =session.createQueue("HelloWord");
			//创建消息的消费者
			messageConsumer = session.createConsumer(destination);
			
			while(true){
				TextMessage textMessage = (TextMessage) messageConsumer.receive(100000);
				if(textMessage != null){
					System.out.println("收到的消息:" + textMessage.getText());
				}else{
					break;
				}
			}
			
		} catch (JMSException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}

}

 这个时候再去activemq的服务器查看,会发现刚才生成的消息,未读0条,已读10条。

  • 大小: 20.7 KB
分享到:
评论

相关推荐

    activeMq消息队列demo

    在这个"activeMq消息队列demo"中,我们可以学习到如何在实际开发环境中运用ActiveMQ。 1. **ActiveMQ基本概念** - **消息队列**:是一种先进先出(FIFO)的数据结构,消息按照发送顺序被存储和消费。 - **生产者*...

    消息队列入门项目demo

    在"消息队列实践项目"中,你将会学习如何使用Java API实现JMS客户端,创建消息生产者和消费者,以及如何配置和使用常见的消息中间件,如Apache ActiveMQ、RabbitMQ或Kafka。此外,还会涉及到如何设计和实施消息序列...

    Apache ActiveMQ 入门最简单例子

    在Apache ActiveMQ中,消息生产者(Producer)发送消息到队列,而消息消费者(Consumer)从队列中取出并处理这些消息。ActiveMQ支持多种协议,包括OpenWire、STOMP、AMQP、MQTT和WS,这使得它能与各种编程语言和平台...

    消息队列-activemq入门实例.zip

    这只是一个简单的入门起点,实际应用中,ActiveMQ还有许多高级特性和配置,如消息优先级、消息过滤、集群部署等,都需要深入学习和实践。希望这个实例能帮助你打开消息队列的大门,进一步探索分布式系统中的通信奥秘...

    apache-activemq-5.15.2下的demo

    Apache ActiveMQ是业界广泛使用的开源消息中间件,它遵循Java Message Service (JMS) 规范,提供高效、可靠的异步消息传递服务。在你提到的"apache-activemq-5.15.2"版本中,包含了"webapps-demo"这个目录,这是一个...

    activemq-demo

    【标题】"activemq-demo" 是一个基于Spring框架与Apache ActiveMQ集成的示例项目,旨在展示如何在实际应用中构建一个高效、可靠的消息传递系统。ActiveMQ是Apache软件基金会开发的一个开源消息代理,它遵循多种消息...

    ActiveMQ整合spring的Demo

    ActiveMQ整合Spring的Demo是一个典型的Java企业级应用示例,它展示了如何在Spring框架中集成Apache ActiveMQ,以便实现消息队列的功能。ActiveMQ是Apache软件基金会的一个开源项目,它是一个功能丰富的Java消息服务...

    activemq消息中间件的使用demo,以及spring集合jms实现消息发送和处理。

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循Java消息服务(JMS)标准,提供高效、可靠的异步消息传递。在分布式系统中,消息中间件扮演着至关重要的角色,它允许不同组件之间通过解耦的方式进行...

    springboot集成activemq实现消息接收demo

    而ActiveMQ是Apache出品的一款开源消息中间件,它遵循JMS(Java Message Service)规范,用于处理应用程序之间的异步通信。本教程将详细介绍如何在Spring Boot项目中集成ActiveMQ,实现消息接收的Demo。 首先,我们...

    activeMQ的一个简单的demo

    ActiveMQ是中国最流行的开源消息中间件之一,由Apache软件基金会开发。它基于Java Message Service (JMS) API,提供高效、可靠的异步消息传递服务,是企业级应用中实现解耦、可靠传输和数据同步的理想选择。在这个...

    activemq_demo,activeMQ的简单demo

    【标题】"activemq_demo,activeMQ的简单demo"涉及的是Apache ActiveMQ的实践应用,这是一款开源的消息中间件,广泛应用于分布式系统中的异步通信。ActiveMQ提供了多种消息协议的支持,包括开放消息中间件协议...

    ActiveMQ5.1+Spring2.5 Demo

    ActiveMQ是Apache软件基金会下的一个开源项目,它是一款功能强大的消息中间件,支持多种消息协议,如AMQP、STOMP、OpenWire等。在版本5.1中,ActiveMQ提供了一流的消息传输性能和可靠性,能够处理大规模并发的消息...

    ActiveMQ中Topic持久化Demo

    在分布式系统中,消息队列(Message Queue)作为解耦组件和异步处理的重要工具,Apache ActiveMQ 是一款广泛使用的开源消息中间件。本篇主要围绕"ActiveMQ中Topic持久化Demo"进行深入探讨,旨在帮助读者理解如何在...

    ActiveMQ Demo (C#)

    - **消息中间件**:ActiveMQ是Apache软件基金会开发的一个开源项目,作为消息中间件,它的主要任务是解耦生产者和消费者,确保消息的可靠传输。 - **JMS(Java Message Service)**:虽然ActiveMQ最初是基于Java的...

    ActiveMQ简单demo

    总的来说,"ActiveMQ简单demo"提供了一个基础的学习平台,帮助开发者快速理解和实践消息队列的使用。通过运行和分析这个示例,你可以更好地掌握ActiveMQ的工作原理,为在实际项目中使用打下坚实基础。

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

    在本项目中,"SpringBoot整合ActiveMQ(消息中间件)实现邮件发送功能"是一个典型的企业级应用示例,它展示了如何将SpringBoot框架与Apache ActiveMQ集成,以实现基于消息队列的邮件发送服务。下面我们将详细探讨这个...

    Spring整合ActiveMQ实现队列和主题发布订阅通信

    通过这个DEMO,你将了解如何在Spring应用中集成ActiveMQ,创建消息的生产者和消费者,并且理解队列和主题这两种不同的通信模式。实际项目中,可以根据需求调整配置,例如设置事务管理、消息确认策略等,以实现更复杂...

    JMS消息队列机制及案例

    Apache ActiveMQ是流行的开源JMS消息中间件,它提供了高性能、可扩展性和高可用性的特性。ActiveMQ支持多种协议,如OpenWire、STOMP、AMQP、MQTT和WebSockets,能够与多种语言和平台集成。 1. **ActiveMQ特性**: ...

    activeMQ初学使用demo

    本初学使用DEMO将带你走进ActiveMQ的世界,通过队列(Queue)和主题(Topic)两种消息模型来了解其基本用法。 1. **ActiveMQ简介**: - ActiveMQ 是Apache软件基金会的一个项目,它提供了一个跨语言、跨平台的消息...

    spring-boot-activemq-demo

    在本示例项目"spring-boot-activemq-demo"中,我们关注的是如何将Spring Boot与Apache ActiveMQ集成,以实现高效的消息传递功能。ActiveMQ是Apache软件基金会的一个开源项目,它是Java消息服务(JMS)的实现,提供了...

Global site tag (gtag.js) - Google Analytics