该实例演示了ActiveMQ发送和异步接受文本类型消息的简单功能。
要求:熟悉Java,了解JMS,了解ActiveMQ
环境:ActiveMQ5.1.0,JDK1.5或以上,Eclipse3.2或以上。
ActiveMQ5.1.0的下载地址:http://activemq.apache.org/activemq-510-release.html ,下载apache-activemq-5.1.0-bin.zip 版本,解压即可。ActiveMQ也提供了从命令行启动的功能,需要在环境变量中配置PATH。
主要源码说明:
类com.honno.activemq.MQBroker负责启动ActiveMQ的消息代理。
代码片段:
BrokerService broker = new BrokerService();
try {
broker.addConnector("tcp://localhost:61616");
broker.start();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
类com.honno.activemq.producer.Producer生产10个文本消息,并发送出去。
代码片段:
try {
// TODO Auto-generated method stub
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD,
ActiveMQConnectionFactory.DEFAULT_BROKER_URL);
try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("TEST");
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage();
PrintlnUtil.println("Sending Messags");
for (int i = 0; i < 10; i++) {
message.setText("This is message " + (i + 1));
producer.send(message);
}
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
类com.honno.activemq.consumer.Consumer异步接收的方式消费消息。
代码片段:
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD,
ActiveMQConnectionFactory.DEFAULT_BROKER_URL);
try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("TEST");
MessageConsumer consumer = session.createConsumer(destination);
PrintlnUtil.println("Consumering Messages");
consumer.setMessageListener(this);
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void onMessage(Message m) {
// TODO Auto-generated method stub
if (m instanceof TextMessage) {
TextMessage message = (TextMessage) m;
try {
System.out.println("Message :" + message.getText());
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
以上是几个主要类的核心代码片段。
分享到:
相关推荐
**JMS与ActiveMQ入门实例详解** Java消息服务(Java Message Service,简称JMS)是Java平台中用于创建、发送、接收和阅读消息的应用程序接口。它为应用程序提供了标准的接口,可以跨越多种消息中间件产品进行通信。...
在“activemq入门实例”中,你将学习到以下几个关键知识点: 1. **ActiveMQ的基本概念**:ActiveMQ作为JMS提供商,它提供一个服务器端(broker)来存储和转发消息,客户端则通过连接到这个服务器来发送和接收消息。...
《ActiveMQ入门实例详解》 在信息技术领域,消息队列(Message Queue)作为一种重要的中间件技术,被广泛应用于系统解耦、异步处理以及负载均衡等场景。Apache ActiveMQ是Apache软件基金会开发的一款开源消息代理,...
Apache ActiveMQ是一个开源的消息代理,遵循Java消息服务(JMS)规范,用于在不同的应用和平台之间进行可靠的消息传递。ActiveMQ能够支持多种传输协议,并能够处理大量消息的存储和转发。 从文件【部分内容】中,...
4. **实例化Message**:你可以创建TextMessage、ObjectMessage、MapMessage等不同类型的Message,每种类型对应不同的数据格式。 5. **连接管理和关闭**:在完成消息传递后,记得关闭Session、Connection和Producer...
本实例旨在引导初学者了解并熟悉ActiveMQ的基本概念、安装配置以及使用方法。 一、ActiveMQ概述 ActiveMQ是一个高性能、灵活且功能丰富的消息代理,支持多种消息协议,如OpenWire、STOMP、AMQP、MQTT等,使得不同...
标题"**HETF-ActiveMQ入门手册.zip**"表明这是一个关于ActiveMQ的入门学习资源,可能包含详细的文档或教程,旨在帮助初学者理解并使用ActiveMQ。"HETF"可能是某个组织、项目或者教程系列的缩写。由于描述中并未提供...
**ActiveMQ实践入门指南** Apache ActiveMQ是一款开源的消息中间件,它是Java消息服务(JMS)的实现...阅读提供的"ActiveMQ实践入门指南.pdf"文件,将为你提供更详细的步骤和实例,助你进一步提升ActiveMQ的应用技能。
本教程将引导你通过一个简单的入门案例了解如何使用ActiveMQ实现生产者与消费者的模式。 首先,我们需要了解ActiveMQ的基本概念。在消息队列中,生产者是发送消息的实体,而消费者则是接收和处理这些消息的实体。...
要实现这一点,可以设置两个或多个ActiveMQ实例,通过网络连接形成集群,并配置适当的故障转移策略。 接下来,我们来创建一个简单的MQDemo1。这通常涉及编写代码来创建生产者和消费者。例如,在Java环境中,我们...
本教程将深入探讨如何将这两个强大的工具结合在一起,以创建一个简单的发送JMS消息的入门实例。 首先,我们需要理解ActiveMQ的基本概念。ActiveMQ是Apache软件基金会开发的一个开源消息代理,它实现了JMS规范,提供...
在本文中,我们将深入探讨如何使用Maven构建一个基于ActiveMQ的简单实例。ActiveMQ是Apache软件基金会开发...这个实例可以帮助初学者快速理解和入门ActiveMQ的基本用法,为进一步探索分布式系统中的消息通信打下基础。
【ActiveMQ入门】 Apache ActiveMQ 是一款开源的Java消息服务(JMS)提供商,属于Apache软件基金会的一员。它遵循JMS 1.1规范,旨在为分布式系统中的应用程序提供高效、可靠的异步通信。ActiveMQ的特性使得它成为...
【ActiveMQ使用入门】 ActiveMQ是一款基于Java的消息中间件,它是Apache基金会的开源项目,也是最早的JMS(Java消息服务)实现之一。JMS是一种标准,定义了在Java环境中访问消息中间件的接口,但并未具体实现。...
本书适合入门学习,所有例子都有源码 1.Servicemix环境安装和配置 2.Eclipse开发环境安装搭建 3.用Bundle对应用组件模块化 4.Camel的应用和例子 Bundle之间的消息传递, Errorhandling 负载均衡 。。。。。。 5....
标题 "activemq入门总结" 暗示了本文将主要围绕Apache ActiveMQ,一个流行的开源消息代理和队列中间件进行讲解。ActiveMQ是基于Java Message Service (JMS) API 的,它允许应用程序在分布式环境中发送和接收消息,...