一、ActiveMQ是什么?
ActiveMQ是Apache推出的一款开源的,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现的消息中间件(Message Oriented Middleware,MOM)。
MOM大白话解释:我们最开始做的项目都是一个工程完成的,但后期随着业务的变更,需要把核心功能抽取出来单独作为一个项目,同时也减少了依赖。这个项目可能被多个系统进行调用,这个时候我们就需要一个第三方消息中间件来做消息传递,使个系统解耦。
ActiveMQ就是MOM的实现。主要用来减小项目依赖,同时提供异步调用作用。
二、ActiveMQ安装
1.从http://activemq.apache.org/activemq-5143-release.html下载最新版本的ActiveMQ
2.直接解压,然后拷贝到你要安装的位置就OK了。
3.到ActiveMQ/bin目录下 ./activemq start
或启动并指定日志文件./activemq start >/tmp/activemqlog
4.检查是否已经启动
ActiveMQ默认采用61616端口提供JMS服务,使用8161端口提供管理控制台服务,执行以下命令便可以检验是否已经成功启动ActiveMQ服务。
a)查看61616端口是否打开:netstat -an | grep 61616
b)直接查看控制台输出或者日志文件
c)直接访问ActiveMQ管理页面http://localhost:8161/admin/ 默认用户名密码admin/admin
d)关闭ActiveMQ可以使用./activemq stop
e)暴力关闭:ps -ef | grep activemq 然后kill -9 端口号 干掉。
三、基本使用
1.配置Maven所需要的依赖,示例如下:
pom配置文件
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.9.0</version> </dependency> <dependency> <groupId>org.apache.xbean</groupId> <artifactId>xbean-spring</artifactId> <version>3.16</version> </dependency>
发送端:
public class JmsSend { public static void main(String[] args) { //创建链接工厂 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); //创建连接 Connection connection = connectionFactory.createConnection(); //启动连接 connection.start(); //创建一个会话 //Boolean.TRUE 要不要使用事务 //Session.AUTO_ACKNOWLEDGE 消息怎么确认 Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); //创建目的地 //my-queue 队列名字 自己取名字 Destination destination = session.createQueue("my-queue"); //创建生产者 发送消息的人 MessageProducer producer = session.createProducer(destination); for(int i=0; i<3; i++) { //封装具体的消息 TextMessage message = session.createTextMessage("message--"+i); Thread.sleep(1000); //通过消息生产者发出消息 producer.send(message); } //事务提交 session.commit(); //关闭会话 session.close(); //关闭连接 connection.close(); } }
接收端
public class JmsReceiver { public static void main(String[] args) throws Exception { ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = cf.createConnection(); connection.start(); final Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); //创建消息目的地 //my-queue跟发送的名字要一致 Destination destination = session.createQueue("my-queue"); //创建接收端 MessageConsumer consumer = session.createConsumer(destination); int i=0; while(i<3) { i++; TextMessage message = (TextMessage) consumer.receive(); session.commit(); System.out.println("收到消 息:" + message.getText()); } session.close(); connection.close(); } }
相关推荐
总之,ActiveMQ-CPP Library 3.9.5为C++开发者提供了与ActiveMQ交互的便捷方式,结合Visual Studio 2015和2017的支持,能够在Windows平台上高效地构建消息驱动的应用程序。通过理解其核心组件和使用方法,开发者可以...
2. **ActiveMQ-CPP库核心功能** - **连接管理**:ActiveMQ-CPP库提供了连接工厂,用于创建到ActiveMQ服务器的连接。这些连接可以是持久化的,即使服务器断开也能恢复。 - **会话与消费者**:库中的会话接口负责...
tar -zxvf apache-activemq-5.15.12-bin.tar.gz 2.进入bin目录 cd /apache-activemq-5.15.12/bin 3.运行,没有配置环境变量只能在bin目录下使用命令 ./activemq 4.配置环境变量,配置完环境变量之后...
自己编译的activemq-cpp的2.X的最后版本,在windows + vs2010下测试通过。压缩包中包含了include\lib\dll文件。 由于尝试了N个3.X的版本都不同过,于是退到2.X版本,通过了,另外在vs2005下编译出来的也没有问题。...
这个“apache-activemq-5.9.0-bin”压缩包包含了Apache ActiveMQ 5.9.0版本的完整二进制文件,用于在本地或网络环境中安装和运行。 Apache ActiveMQ的核心功能包括: 1. **消息队列**:ActiveMQ支持多种消息模式,...
赠送jar包:activemq-protobuf-1.1.jar; 赠送原API文档:activemq-protobuf-1.1-javadoc.jar; 赠送源代码:activemq-protobuf-1.1-sources.jar; 包含翻译后的API文档:activemq-protobuf-1.1-javadoc-API文档-...
activemqBroker插件:activemqBroker-2.14-SNAPSHOT.war
赠送jar包:activemq-core-5.7.0.jar; 赠送原API文档:activemq-core-5.7.0-javadoc.jar; 赠送源代码:activemq-core-5.7.0-sources.jar; 包含翻译后的API文档:activemq-core-5.7.0-javadoc-API文档-中文...
这个压缩包"apache-activemq-5.8.0-bin.zip"包含了ActiveMQ 5.8.0版本的二进制发行版,供用户在本地计算机上安装和运行。 1. **Apache ActiveMQ简介** - Apache ActiveMQ是业界广泛使用的消息代理,提供可靠的消息...
activemq-parent-5.10.0-source-release.zip activemq-parent-5.10.2-source-release.zip activemq-parent-5.12.3-source-release.zip apache-activemq-5.10.2-bin.tar.gz apache-activemq-5.11.4-bin.zip apache-...
activemq-web-console的默认使用方式是通过在activemq.xml中导入jetty.xml配置一个jetty server来实现的。其实activemq-web-console完全可以和activemq-broker分开来部署。 activemq-web-console包含3个apps, 1.一...
这个"apache-activemq-5.15.8-bin.zip"文件包含了ActiveMQ的可执行版本,用于在本地计算机上安装和运行ActiveMQ服务。 首先,我们需要了解ActiveMQ的核心概念。它是一个消息代理,扮演着消息生产者与消费者之间的...
在“apache-activemq-5.12.0-bin”这个压缩包中,包含了运行Apache ActiveMQ所需的所有文件,适用于Windows操作系统。 Apache ActiveMQ作为消息队列的实现,主要功能包括: 1. **消息传输**:ActiveMQ允许应用程序...
activemq/5.9.0/apache-activemq-5.9.0-bin.tar;activemq/5.9.0/apache-activemq-5.9.0-bin.tar
activemq-all-5.2.0.JAR包,欢迎下载。编写java中间件的时候会用到。这是activemq实现的jms中间件。希望能帮助到你。
mv /usr/local/apache-activemq-5.13.4 /usr/local/apache-activemq ``` - **测试启动和停止ActiveMQ**: 进入`/usr/local/apache-activemq/bin/`目录,尝试启动和停止ActiveMQ: ```bash ./activemq start ....
MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。 特点: 1、支持多种...
apache-activemq-5.8.0,包解压后可以直接使用,用于系统间的消息的发布与消费。 pom添加: <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.11.1</version> </...
这个压缩包"apache-activemq-5.14.4-bin.tar.gz"包含了安装和运行ActiveMQ所需的所有文件。 **ActiveMQ简介** ActiveMQ是一个高性能、灵活且易于使用的消息代理,它允许应用程序通过消息传递进行通信,以解耦生产者...
配置文件位于`/opt/apache-activemq-5.x.x/conf`目录下,主要关注`activemq.xml`。这个文件定义了ActiveMQ的核心配置,包括消息存储、网络连接等。根据需求,你可以调整这些设置以优化性能或安全性。 3. **启动和...