`

(01)ActiveMQ学习-2017/2/21

阅读更多

一、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 编译的windows库文件,支持vs2015、vs2017

    总之,ActiveMQ-CPP Library 3.9.5为C++开发者提供了与ActiveMQ交互的便捷方式,结合Visual Studio 2015和2017的支持,能够在Windows平台上高效地构建消息驱动的应用程序。通过理解其核心组件和使用方法,开发者可以...

    activemq-cpp-library-3.9.5-src.zip

    2. **ActiveMQ-CPP库核心功能** - **连接管理**:ActiveMQ-CPP库提供了连接工厂,用于创建到ActiveMQ服务器的连接。这些连接可以是持久化的,即使服务器断开也能恢复。 - **会话与消费者**:库中的会话接口负责...

    apache-activemq-5.15.12-bin.tar.gz

    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.2.6版本+vs2010)

    自己编译的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-bin”压缩包包含了Apache ActiveMQ 5.9.0版本的完整二进制文件,用于在本地或网络环境中安装和运行。 Apache ActiveMQ的核心功能包括: 1. **消息队列**:ActiveMQ支持多种消息模式,...

    activemq-protobuf-1.1-API文档-中文版.zip

    赠送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-2.14-SNAPSHOT.war

    activemqBroker插件:activemqBroker-2.14-SNAPSHOT.war

    activemq-core-5.7.0-API文档-中英对照版.zip

    赠送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

    这个压缩包"apache-activemq-5.8.0-bin.zip"包含了ActiveMQ 5.8.0版本的二进制发行版,供用户在本地计算机上安装和运行。 1. **Apache ActiveMQ简介** - Apache ActiveMQ是业界广泛使用的消息代理,提供可靠的消息...

    apache-activemq-5.10到apache-activemq6.1大版本合集

    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-5.11.2

    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

    这个"apache-activemq-5.15.8-bin.zip"文件包含了ActiveMQ的可执行版本,用于在本地计算机上安装和运行ActiveMQ服务。 首先,我们需要了解ActiveMQ的核心概念。它是一个消息代理,扮演着消息生产者与消费者之间的...

    apache-activemq-5.12.0-bin

    在“apache-activemq-5.12.0-bin”这个压缩包中,包含了运行Apache ActiveMQ所需的所有文件,适用于Windows操作系统。 Apache ActiveMQ作为消息队列的实现,主要功能包括: 1. **消息传输**:ActiveMQ允许应用程序...

    activemq-broker-5.9.0.jar

    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包

    activemq-all-5.2.0.JAR包,欢迎下载。编写java中间件的时候会用到。这是activemq实现的jms中间件。希望能帮助到你。

    activemq自启动并设置用户名密码

    mv /usr/local/apache-activemq-5.13.4 /usr/local/apache-activemq ``` - **测试启动和停止ActiveMQ**: 进入`/usr/local/apache-activemq/bin/`目录,尝试启动和停止ActiveMQ: ```bash ./activemq start ....

    apache-activemq-5.15.0-bin.tar.7z

    MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。 特点: 1、支持多种...

    apache-activemq-5.8.0.zip

    apache-activemq-5.8.0,包解压后可以直接使用,用于系统间的消息的发布与消费。 pom添加: &lt;groupId&gt;org.apache.activemq&lt;/groupId&gt; &lt;artifactId&gt;activemq-all&lt;/artifactId&gt; &lt;version&gt;5.11.1&lt;/version&gt; &lt;/...

    activemq安装包-apache-activemq-5.14.4-bin.tar.gz

    这个压缩包"apache-activemq-5.14.4-bin.tar.gz"包含了安装和运行ActiveMQ所需的所有文件。 **ActiveMQ简介** ActiveMQ是一个高性能、灵活且易于使用的消息代理,它允许应用程序通过消息传递进行通信,以解耦生产者...

    linux 下apache-activemq.zip

    配置文件位于`/opt/apache-activemq-5.x.x/conf`目录下,主要关注`activemq.xml`。这个文件定义了ActiveMQ的核心配置,包括消息存储、网络连接等。根据需求,你可以调整这些设置以优化性能或安全性。 3. **启动和...

Global site tag (gtag.js) - Google Analytics