`
maimode
  • 浏览: 415724 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基于ActiveMQ开发示例代码

阅读更多

Producer

package activemq;

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.ActiveMQConnectionFactory;

public class SendMessage {
	private static final String url = "tcp://localhost:61616";
	private static final String QUEUE_NAME = "choice.queue";
	protected String expectedBody = "<hello>world!</hello>";

	public void sendMessage() throws JMSException {
		Connection connection = null;
		try {
			ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
					url);
			connection = (Connection) connectionFactory.createConnection();
			connection.start();
			Session session = (Session) connection.createSession(false,
					Session.AUTO_ACKNOWLEDGE);
			Destination destination = session.createQueue(QUEUE_NAME);
			MessageProducer producer = session.createProducer(destination);
			TextMessage message = session.createTextMessage(expectedBody);
			message.setStringProperty("headname", "remoteB");
			producer.send(message);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		SendMessage sndMsg = new SendMessage();
		try {
			sndMsg.sendMessage();
		} catch (Exception ex) {
			System.out.println(ex.toString());
		}
	}
}

 Consumer

package activemq;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
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;

public class ReceiveMessage {
	private static final String url = "tcp://localhost:61616";
	private static final String QUEUE_NAME = "choice.queue";

	public void receiveMessage() {
		Connection connection = null;
		try {
			try {
				ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
						url);
				connection = connectionFactory.createConnection();
			} catch (Exception e) {
				System.out.println(e.toString());
			}
			connection.start();
			Session session = connection.createSession(false,
					Session.AUTO_ACKNOWLEDGE);
			Destination destination = session.createQueue(QUEUE_NAME);
			MessageConsumer consumer = session.createConsumer(destination);
			consumeMessagesAndClose(connection, session, consumer);
		} catch (Exception e) {
			System.out.println(e.toString());
		}
	}

	protected void consumeMessagesAndClose(Connection connection,
			Session session, MessageConsumer consumer) throws JMSException {
		for (int i = 0; i < 1;) {
			Message message = consumer.receive(1000);
			if (message != null) {
				i++;
				onMessage(message);
			}
		}
		System.out.println("Closing connection");
		consumer.close();
		session.close();
		connection.close();
	}

	public void onMessage(Message message) {
		try {
			if (message instanceof TextMessage) {
				TextMessage txtMsg = (TextMessage) message;
				String msg = txtMsg.getText();
				System.out.println("Received: " + msg);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	public static void main(String args[]) {
		ReceiveMessage rm = new ReceiveMessage();
		rm.receiveMessage();
	}

}
 
分享到:
评论

相关推荐

    activeMQ代码示例简单通信

    在本文中,我们将深入探讨ActiveMQ,一个基于Java消息服务(JMS)规范的开源消息中间件。ActiveMQ因其高效性、可扩展性、稳定性和安全性,在企业级消息通信领域得到了广泛应用。它允许应用程序通过解耦生产者和消费...

    C# ActiveMQ 和Spring.NET框架开发示例

    在实际的开发示例中,开发者需要按照正确的步骤和命令来操作,以确保安装和配置过程的顺利进行。在开发中,开发者需要将ActiveMQ与C#应用程序结合,使用***框架来开发消息队列系统,这涉及到配置连接工厂、队列目的...

    jms(activeMQ)示例

    在ActiveMQ示例中,可能需要用到Gradle来管理项目的依赖和构建过程。 **集成JMS与ActiveMQ**: 1. 首先,确保在项目中添加了ActiveMQ客户端库。如果是Gradle项目,可以在`build.gradle`文件中添加如下依赖: ```...

    ActiveMQ完整项目示例

    在本项目示例中,我们将深入探讨如何使用MyEclipse 10开发基于ActiveMQ的消息通信应用。 1. **ActiveMQ基础概念** - **消息队列**: 消息队列是ActiveMQ的核心,它存储和转发消息,确保消息的可靠传输。 - **生产...

    基于activemq实现Android推送(服务端+客户端)

    最后,我们可以看到"demo"文件夹中可能包含了一个简单的示例项目,展示如何在Android客户端和服务端实现基于ActiveMQ和MQTT的推送功能。这个示例代码会帮助初学者更好地理解上述概念,并动手实践。 总结来说,利用...

    activemq 5.7 官方源代码

    Apache ActiveMQ是业界广泛使用的开源消息中间件,它基于Java平台并遵循JMS(Java Message Service)标准。ActiveMQ 5.7版本是其历史上的一个重要版本,提供了稳定且高效的消息传递服务。在这个版本中,我们可以深入...

    ActiveMQ / RabbitMQ 示例

    本示例主要关注三个流行的消息队列服务:ActiveMQ、RabbitMQ以及AliyunMQ,它们都是基于Java消息服务(JMS)的实现。 首先,ActiveMQ是由Apache开发的开源消息代理,它是JMS 1.1规范的实现者。ActiveMQ支持多种协议...

    基于Maven的ActiveMQ的简单实例

    在本文中,我们将深入探讨如何使用Maven构建一个基于ActiveMQ的简单实例。ActiveMQ是Apache软件基金会开发的一款开源消息代理,它实现了多种消息协议,如JMS(Java消息服务)、AMQP(高级消息队列协议)等,为企业级...

    ActiveMQ的开发包及服务器地址

    5. **examples**:示例代码,帮助开发者快速理解和开始使用ActiveMQ。 6. **webapps**:包含Web管理控制台的WAR文件和其他Web应用程序。 要开始使用ActiveMQ,你需要编辑conf/activemq.xml配置文件,根据需求设置...

    实验三 消息中间件应用开发:ActiveMQ实现单线程多队列

    【标题】:“实验三 消息中间件应用开发:ActiveMQ实现单线程多队列” 在IT领域,消息中间件是一种重要的软件架构组件,它主要用于应用...在完成实验后,学习者应具备设计和实现基于ActiveMQ的消息处理系统的能力。

    ActiveMQ-NetCore.zip

    根据压缩包内的文件名 "ActiveMQTest",我们可以推测这是一个包含测试代码的文件或目录,可能包含了连接 ActiveMQ 服务器的配置、发送和接收消息的示例代码。 详细的知识点可能包括: 1. **ActiveMQ 简介**:...

    ActiveMQ整合SpringBoot笔记及代码

    本篇文章将详细介绍如何将ActiveMQ与SpringBoot进行整合,并提供相关代码示例。 **一、ActiveMQ简介** ActiveMQ是基于Java的消息中间件,它提供了多种语言的客户端库,包括Java、C++、Python等,使得跨平台的通信...

    activeMQ示例

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它基于开放标准的Java消息服务(JMS)实现,能够处理各种消息传递模式,如点对点、发布/订阅、请求/响应等。在这个示例中,我们将探讨ActiveMQ的核心概念、...

    ActiveMQ基于Java和JavaScript的应用实例

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它基于开放标准AMQP(Advanced Message Queuing Protocol)协议,提供高效、可靠的消息传输服务。在Java和JavaScript环境中,ActiveMQ能够作为一个桥梁,允许...

    activemq-demo

    4. **测试和示例**:项目可能包含了一些测试用例或示例代码,用于演示如何启动、发送和接收消息。 在"activemq_spr3"这个压缩包文件中,你可能会找到以下内容: - `pom.xml`:Maven项目的配置文件,包含了对Spring...

    ActiveMQ

    `TestMQ` 这个文件可能是用于测试 ActiveMQ 功能的示例或者配置。通常,这样的测试文件会包含创建连接、发布消息、订阅消息和断开连接等操作的代码。通过运行 `TestMQ`,开发者可以验证 ActiveMQ 的配置是否正确,...

    ActiveMQ与Zookeeper集群测试代码

    标题中的“ActiveMQ与Zookeeper集群测试代码”指的是一个实验或示例项目,旨在演示如何结合这两个组件来构建高可用的消息传递环境。Zookeeper在这里的角色可能是用来管理ActiveMQ集群的状态,实现节点间的选举和故障...

    JMS之ActiveMQ工具类+使用例子.zip

    Apache ActiveMQ是基于Java消息服务(Java Message Service,简称JMS)的开源消息中间件,由Apache软件基金会开发。它允许应用程序通过发送和接收消息来实现异步通信,从而解耦了系统中的组件,提高了系统的可扩展性...

    activemq_basic.rar

    在这个"activemq_basic.rar"压缩包中,我们可以预见到是一些关于ActiveMQ的基础教程或者示例代码,用于帮助开发者了解和学习如何使用ActiveMQ进行消息传递。 首先,让我们来了解一下JMS(Java消息服务)的基本概念...

    apache-activemq-5.17.3

    Apache ActiveMQ是开源的、基于Java消息服务(JMS)的应用服务器,它是Apache软件基金会的一部分。这个名为"apache-activemq-5.17.3"的压缩包包含了ActiveMQ的5.17.3版本,这是一个稳定且功能丰富的发布版本。在深入...

Global site tag (gtag.js) - Google Analytics