一、下载MQ:
官网http://activemq.apache.org/下载,选择windows版本学习,项目当中使用linux版本进行集群。
二、解压目录介绍
Bin:启动脚本.bin/activemq.bat是启动MQ的脚本
Conf:mq核心配置。
activemq.xml核心配置
Jetty:管控界面
Users.properties:用户名密码
Data:kahaDB文件
Webapps:管控台使用
三、启动MQ,管控台介绍
Home :查看broker相关信息
Queues:队列相关信息
Topics:主题订阅相关信息
Subscribers:订阅者相关信息
Connections:连接信息
Network:集群连接信息
Send:模拟发送MQ信息
----------------------------------------------------------------------------
heloword实例----------------------------------------------------------------------------
1、生产者端
/**
* Hello world!
*
*/
public class Sender {
public static void main( String[] args ) throws Exception
{
//建立connectionFactory工厂对象,填入用户名、密码以及要连接的地址,均使用默认即可,默认端口为"tcp://localhost:61616"
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
//通过connectionFactory工厂对象创建connection连接,并且调用connection的start方法开启连接,connection默认是关闭的
Connection connection = connectionFactory.createConnection(ActiveMQConnectionFactory.DEFAULT_USER, ActiveMQConnectionFactory.DEFAULT_PASSWORD);
connection.start();
//通过connection对象创建session会话(上下文环境对象),用于接收消息,参一表示是否启用事务,参二表示签收模式,一般我们设置自动签收。
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
//通过session创建destination对象,指的是一个客户端用来指定生产消息目标和消费消息的来源的对象。
//在p2p模式中,destination被称作Queue即队列,在pub/sub模式中,destination被称作Topic即主题。
Destination destination = session.createQueue("first");
//通过session对象创建消息的发送/接收对象(生产者/消费者)MessageProducer/MessageConsumer
MessageProducer producer = session.createProducer(null);
for (int i = 0; i < 50; i++) {
//使用JMS规范的TextMessage形式创建数据(通过session对象),并用MessageProducer的send方法发送对象。同理客户端使用receive方法进行接收数据。最后关闭connection连接。
TextMessage msg = session.createTextMessage("消息内容"+i);
//一参 目标地址
//二参 具体数据信息
//三参 传送数据模式
//四参 优先级
//五参 消息过期时间
producer.send(destination,msg);
}
if(connection !=null){
connection.close();
}
}
}
运行消息结果:
2、消费端
public class Receiver {
public static void main(String[] args) throws Exception {
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
Connection connection = connectionFactory.createConnection(ActiveMQConnectionFactory.DEFAULT_USER,ActiveMQConnectionFactory.DEFAULT_PASSWORD);
// Connection connection = connectionFactory.createConnection("fu","fu");
connection.start();
Session session = connection.createSession(Boolean.FALSE, Session.CLIENT_ACKNOWLEDGE);
Destination destination = session.createQueue("first");
// 通过session对象创建消息的发送/接收对象(生产者/消费者)MessageProducer/MessageConsumer
MessageConsumer consumer = session.createConsumer(destination);
while (true) {
// 使用JMS规范的TextMessage形式创建数据(通过session对象),并用MessageProducer的send方法发送对象。同理客户端使用receive方法进行接收数据。最后关闭connection连接。
TextMessage msg = (TextMessage) consumer.receive();
// 手工签收消息
msg.acknowledge();
System.out.println("消费数据:" + msg.getText());
}
}
}
消费端运行结果:
- 大小: 29.7 KB
- 大小: 92.1 KB
- 大小: 62 KB
- 大小: 10.1 KB
- 大小: 64.9 KB
分享到:
相关推荐
### ActiveMQ 使用手册知识点概述 #### 一、ActiveMQ 原理与基本构件 **1.1 连接工厂(Connection Factory):** - **定义:** 连接工厂是客户端用来创建连接的对象。在ActiveMQ中,`ActiveMQConnectionFactory` 类...
ActiveMQ_HelloWorld 是一个示例项目,它展示了如何使用 Apache ActiveMQ 这个开源消息代理来实现消息队列(MQ)的基本功能。在这个项目中,我们重点探讨了两种主要的消息传递模式:点对点(Point-to-Point, PTP)和...
java中使用消息中间件ActiveMQ的MQTT协议发布消息使用fusesource,fusesource提供三种方式实现发布消息的方式,分别是阻塞式(BlockingConnection)、回调式(CallbackConnection)和Future样式(FutureConnection)
**ActiveMQ 使用 SSL 加密文件 Demo** ActiveMQ 是一个开源的消息代理服务器,它遵循 Java Message Service(JMS)规范,提供了可靠的消息传递功能。在实际的生产环境中,为了确保消息传输的安全性,我们通常会使用...
ActiveMQ是中国最流行的开源消息中间件之一,它基于Java Message Service (JMS) 规范,为分布式系统提供高效、可靠的消息传递服务。本初学使用DEMO将带你走进ActiveMQ的世界,通过队列(Queue)和主题(Topic)两种...
### Delphi ActiveMQ 使用帮助 #### 一、简介 Delphi ActiveMQ 使用帮助文档主要介绍了如何在 Delphi 开发环境中使用 HabariActiveMQClient 库与 Apache ActiveMQ 消息中间件进行交互的方法。这份文档提供了从安装...
ActiveMQ是一款基于Java的消息中间件,它是Apache基金会的开源项目,也是最早的JMS(Java消息服务)实现之一。JMS是一种标准,定义了在Java环境中访问消息中间件的接口,但并未具体实现。ActiveMQ作为JMS的实现,...
接下来我们将详细阐述ActiveMQ的安装与使用过程,包括安装前提条件、安装步骤、配置和启动以及安全配置等知识点。 首先,安装ActiveMQ之前需要有一个Java运行环境。这是因为ActiveMQ是使用Java开发的。JDK(Java ...
标题中的"ActiveMQ 使用Ajax 收发消息实战"指出我们将探讨如何使用ActiveMQ消息中间件与Ajax技术结合,实现Web应用程序中的异步消息传递。ActiveMQ是Apache软件基金会的一个项目,提供了一个开源的消息代理,支持...
在IT行业中,ActiveMQ是一个非常流行的开源消息代理和队列管理软件,它是Apache软件基金会的顶级项目之一。SSL(Secure Socket Layer)是用于确保网络通信安全的一种标准协议,而双向认证(Mutual SSL/TLS ...
ActiveMQ是中国最流行的消息中间件之一,它是一个开源的、基于Java消息服务(JMS)规范的实现。在本文中,我们将深入探讨ActiveMQ的使用、安装及其初始化页面的设置。 首先,ActiveMQ是一个高性能、可靠的分布式...
本教程主要围绕`mqttjs`,一个JavaScript实现的MQTT客户端库,以及如何使用它来测试ActiveMQ服务器。`mqttjs`是一个轻量级且易于使用的库,适合在Web应用、Node.js环境中进行 MQTT 相关的开发工作。 首先,安装`...
本主题将详细讲解在ActiveMQ中使用JDBC持久化所需的jar包,以及如何进行配置。 首先,我们要明确的是,ActiveMQ内置了一个基于KahaDB的默认持久化机制,但用户可以根据需求选择JDBC持久化。JDBC持久化需要以下关键...
**标题:“JMS 使用 ActiveMQ 传送文件”** 在IT领域,Java消息服务(Java Message Service,简称JMS)是一种标准API,它允许应用程序创建、发送、接收和读取消息。这种技术常用于异步通信,尤其是在分布式系统中,...
### ActiveMQ 安装与使用详解 #### 一、ActiveMQ简介 ActiveMQ 是Apache出品的一款优秀的开源消息中间件,支持多种消息传输协议,并且具备良好的扩展性。它基于Java语言开发,支持JMS标准,同时也支持AMQP、STOMP...
使用WebSocket与ActiveMQ进行交互,首先需要了解WebSocket URL的格式。在描述中提到,WebSocket协议的URL以"ws://"开头,这是非加密的WebSocket连接。如果需要加密传输,可以使用"WSS://",这相当于WebSocket的SSL/...
ActiveMQ是中国最流行的开源消息中间件之一,由Apache软件基金会开发。它基于Java Message Service (JMS) 规范,提供了可靠的消息传递功能,适用于分布式系统中的应用间通信。本压缩包“activeMQ收发工具.rar”包含...
- **非阻塞IO**:通过配置ActiveMQ使用非阻塞IO,可以减少线程的使用,从而支持更多并发连接。 - **消息分发线程池**:通过设置 `org.apache.activemq.UseDedicatedTaskRunner` 为 `false`,可以让ActiveMQ使用一个...
本文将深入探讨如何在Spring环境中使用ActiveMQ来实现消息的发送与接收,以提高系统的可扩展性和解耦性。 首先,我们需要了解Spring对ActiveMQ的支持。Spring提供了`spring-jms`模块,它包含了一组丰富的API和配置...
在"ActiveMQ开发实例-1"中,你将学习如何使用 ActiveMQ-CPP 库进行基本的发布/订阅(Publish/Subscribe)和点对点(Point-to-Point)模式的消息传递。这两种模式是消息中间件中最常见的通信模型。 1. **发布/订阅...