Activemq下载与安装
下载
官方网站下载:http://activemq.apache.org/
安装
1:将apache-activemq-5.15.13-bin.tar.gz上传至服务器
2:解压此文件
tar zxvf apache-activemq-5.15.13-bin.tar.gz
3:解压完成后需要修改apache-activemq-5.15.13文件夹的权限
chmod 777 apache-activemq-5.15.13
4:进入apache-activemq-5.15.13\bin
cd apache-activemq-5.15.13\bin
5:赋予activemq权限
chmod 755 activemq
启动
./activemq start
查看是activemq是否运行
./activemq status
说明已经启动成功
如果要停止运行输入./activemq stop
如果启动失败。查看一下启动日志
./activemq console
可能原因(1:端口被占用。2:服务器含有非法字符)
如果是第一种,直接将占用端口停止即可,如果是第二种需要改主机名,修改方法如下:
{redhat/centos上永久修改
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.10.1
修改network的HOSTNAME项。点前面是主机名,点后面是域名。没有点就是主机名。
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=master
这个是永久修改,重启后生效。目前不知道怎么立即生效。}
打开浏览器输入地址: 列如
http://192.168.1.105:8161/ 即可进入ActiveMQ管理页面
进入主界面
点击进入管理页面
输入用户名和密码 均为 admin
进入主界面
点对点消息列表:
列表各列信息含义如下:
Number Of Pending Messages :等待消费的消息 这个是当前未出队列的数量。
Number Of Consumers :消费者 这个是消费者端的消费者数量
Messages Enqueued :进入队列的消息 进入队列的总数量,包括出队列的。
Messages Dequeued :出了队列的消息 可以理解为是消费这消费掉的数量。
2. JMS入门小Demo
2.1点对点模式
点对点的模式主要建立在一个队列上面,当连接一个列队的时候,发送端不需要知道接收端是否正在接收,可以直接向ActiveMQ发送消息,发送的消息,将会先进入队列中,如果有接收端在监听,则会发向接收端,如果没有接收端接收,则会保存在activemq服务器,直到接收端接收消息,点对点的消息模式可以有多个发送端,多个接收端,但是一条消息,只会被一个接收端给接收到,哪个接收端先连上ActiveMQ,则会先接收到,而后来的接收端则接收不到那条消息。
2.1.1消息生产者
(1)创建工程jmsDemo ,引入依赖
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-client</artifactId> <version>5.13.4</version> </dependency> |
(2)创建类QueueProducer main方法代码如下:
//1.创建连接工厂 ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://192.168.25.135:61616"); //2.获取连接 Connection connection = connectionFactory.createConnection(); //3.启动连接 connection.start(); //4.获取session (参数1:是否启动事务,参数2:消息确认模式) Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //5.创建队列对象 Queue queue = session.createQueue("test-queue"); //6.创建消息生产者 MessageProducer producer = session.createProducer(queue); //7.创建消息 TextMessage textMessage = session.createTextMessage("欢迎来到神奇的品优购世界"); //8.发送消息 producer.send(textMessage); //9.关闭资源 producer.close(); session.close(); connection.close(); |
上述代码中第4步创建session 的两个参数:
第1个参数 是否使用事务
第2个参数 消息的确认模式
·AUTO_ACKNOWLEDGE = 1 自动确认
·CLIENT_ACKNOWLEDGE = 2 客户端手动确认
·DUPS_OK_ACKNOWLEDGE = 3 自动批量确认
·SESSION_TRANSACTED = 0 事务提交并确认
运行后通过ActiveMQ管理界面查询
2.1.2消息消费者
创建类QueueConsumer ,main方法代码如下:
//1.创建连接工厂 ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://192.168.25.135:61616"); //2.获取连接 Connection connection = connectionFactory.createConnection(); //3.启动连接 connection.start(); //4.获取session (参数1:是否启动事务,参数2:消息确认模式) Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //5.创建队列对象 Queue queue = session.createQueue("test-queue"); //6.创建消息消费 MessageConsumer consumer = session.createConsumer(queue); //7.监听消息 consumer.setMessageListener(new MessageListener() { public void onMessage(Message message) { TextMessage textMessage=(TextMessage)message; try { System.out.println("接收到消息:"+textMessage.getText()); } catch (JMSException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); //8.等待键盘输入 System.in.read(); //9.关闭资源 consumer.close(); session.close(); connection.close(); |
执行后看到控制台输出
2.1.3运行测试
同时开启2个以上的消费者,再次运行生产者,观察每个消费者控制台的输出,会发现只有一个消费者会接收到消息。
2.2 发布/订阅模式
2.2.1消息生产者
创建类TopicProducer ,main方法代码如下:
//1.创建连接工厂 ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://192.168.25.135:61616"); //2.获取连接 Connection connection = connectionFactory.createConnection(); //3.启动连接 connection.start(); //4.获取session (参数1:是否启动事务,参数2:消息确认模式) Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //5.创建主题对象 Topic topic = session.createTopic("test-topic"); //6.创建消息生产者 MessageProducer producer = session.createProducer(topic); //7.创建消息 TextMessage textMessage = session.createTextMessage("欢迎来到神奇的品优购世界"); //8.发送消息 producer.send(textMessage); //9.关闭资源 producer.close(); session.close(); connection.close(); |
运行效果如下:
2.2.2消息消费者
创建类TopicConsumer ,main方法代码如下:
//1.创建连接工厂 ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://192.168.25.135:61616"); //2.获取连接 Connection connection = connectionFactory.createConnection(); //3.启动连接 connection.start(); //4.获取session (参数1:是否启动事务,参数2:消息确认模式) Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //5.创建主题对象 //Queue queue = session.createQueue("test-queue"); Topic topic = session.createTopic("test-topic"); //6.创建消息消费 MessageConsumer consumer = session.createConsumer(topic); //7.监听消息 consumer.setMessageListener(new MessageListener() { public void onMessage(Message message) { TextMessage textMessage=(TextMessage)message; try { System.out.println("接收到消息:"+textMessage.getText()); } catch (JMSException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); //8.等待键盘输入 System.in.read(); //9.关闭资源 consumer.close(); session.close(); connection.close(); |
2.2.3运行测试
同时开启2个以上的消费者,再次运行生产者,观察每个消费者控制台的输出,会发现每个消费者会接收到消息。
记得点赞哦
Activemq下载与安装相关推荐
- linux环境下装mq,ActiveMQ下载与安装(Linux环境下进行)
下载 官方网站:http:activemq.apache.org/ 安装(liunx) 1.将apache-activemq-5.12.0-bin.tar.gz(liunx环境下的压缩包)上传至服务器 ...
- activemq linux教程,Linux及Windows下ActiveMQ下载与安装教程
Windows: 1.官网下载地址:这里 2.百度网盘下载:这里 提取码:8rbi Linux: 1.百度网盘下载:这里 提取码:l8hx java开发工具下载地址及安装教程大全,点这里. 更多深度技 ...
- ActiveMQ简介与安装
1. ActiveMQ简介 ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信.ActiveMQ使用Apa ...
- 企业级实战01_ActiveMQ 下载、安装、运行、实战需求
ActiveMQ 下载.安装.运行.实战需求 文章目录 一.ActiveMQ简介 1. 什么是ActiveMQ? 2. ActiveMQ能干什么? 3. ActiveMQ特点 4. MOM基本功能 5 ...
- activemq之Windows安装
首先进入官网: http://activemq.apache.org/ 这里有两种版本:一种是经典版本,一种是面向未来的版本,这里选择经典版本 如下: 解压下来: 进入win64文件夹 直接activ ...
- MySQL下载与安装教程以及环境变量配置
MySQL下载 1 搜索mysql 选择mysql downloads 如下 2 点击滑动到底部选择社区版本(免费) 如下 3 选择Community Server 如下 4 选择对应的版本下载 我选 ...
- java jdk 1.8 安装_下载、安装、配置 java jdk1.8
近期配置react native的开发环境,所以就从配置环境开始.rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载.安 ...
- vs安装一直在提取文件_Visual Studio 2019下载及安装教程
宸1分钟前 这可是我珍藏多年的资源啊. Visual Studio 2019 Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品.是目前最流行的Windows ...
- python安装包_迈出Python学习第一步:Python开发环境的下载与安装
所谓"磨刀不误砍柴工"."工欲善其事,必先利其器",都在告诉我们一个道理:要做好一个事情,事先做好充分的准备工作是非常重要的.所以在我们正式学习用Python编 ...
- oracle怎么下载安装,Oracle数据库的下载和安装方法
一.Oracle数据的下载与安装: 我这里是Oracle Database 11g Release 2版本的. 1.百度云链接: 链接:https://pan.baidu.com/s/1QYvBVS3 ...
最新文章
- RewriteCond和13个mod_rewrite应用举例Apache伪静态
- 谈谈对Spring IOC的理解
- Oracle 数据库连接失败问题
- 环境变量path误删解决办法
- python3.6.3安装过程_python3.6.3安装图文教程 TensorFlow安装配置方法
- 如何文件服务器安装打印机,如何安装打印机方法图解
- 打开一个页面,并监听该页面的关闭事件
- Bailian2807 两倍【序列】
- php程序员述职材料_php程序员述职报告(精选多篇)
- 51nod 1050 循环数组最大子段和【环形DP/最大子段和/正难则反】
- Mac 软件使用心得 极简软件清单
- 硬盘如何分区及分区注意事项
- 构建自己的Aleax查询服务
- WSL2 网络异常排查 [ping 不通、网络地址异常、缺少默认路由、被宿主机防火墙拦截]
- 3ds Max Taper、Twist和Bend的运用——衣架的制作
- numpy之histogram()直方图函数
- sv编程语言_sv零星知识点
- 妻子写给丈夫情人的催泪信
- python-字典练习3 -数字重复统计
- 剧场版复活的f 剧情
热门文章
- python的100道数学题_python经典例题100道
- BLM战略规划的核心是业务模式创新
- 利用Resource Hacker简单去除WinRar广告
- 主成分分析在SPSS上的实现与结果分析——基于SPSS实验报告
- HAL库 STM32 串口通信函数
- 【算法/数论】欧拉筛法详解:过程详述、正确性证明、复杂度证明
- TCPUDP调试工具 Linux 版
- qgis经纬度_QGIS中文系列教程
- CAD二次开发高版本调用内部命令AcedCmdS和AcedCmdC
- xmind思维导图怎么把字体变大_XMind 使用指南 | 让思维导图放大你的影响力