activemq使用系列: linux环境下ActiveMQ 的安装与使用(单节点)
来源:互联网 发布:网络协议都有哪些 编辑:程序博客网 时间:2024/06/08 05:27
1、 安装 JDK 并配置环境变量(略)
2 下载 Linux 版的 ActiveMQ
<span style="white-space:pre"></span>wget http://apache.fayea.com/activemq/5.11.1/apache-activemq-5.11.1-bin.tar.gz
3、 解压
4、 防火墙中打开activemq的使用端口
一个是连接broker的端口
我们可以在amq的安装目录包的conf目录下的activemq.xml中看到
61616就是我们的broker连接端口
一个是amq控制台的端口
我们可以在conf/jetty.xml中看到
打开linux防火墙文件,增加如下配置,允许这两个端口被访问
<span style="white-space:pre"></span>vi /etc/sysconfig/iptables
重新启动防火墙服务
<span style="white-space:pre"></span>service iptables restart
进入amq的安装目录下/bin/ 启动amq运行脚本
<span style="white-space:pre"></span>./activemq start
打开浏览器输入地址
<span style="white-space:pre"></span>http://192.168.1.10:8161/
这里的IP地址可以通过linux命令 ipconfig查看,我这里是192.168.1.10
接下我们写个小程序使用一下
创建一个maven工程用
创建一个消息发送类
/** * */package com.pcx.amqproducer;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.MapMessage;import javax.jms.MessageProducer;import javax.jms.Session;import org.apache.activemq.ActiveMQConnectionFactory;import org.apache.activemq.command.ActiveMQQueue;/** * * @author scarletbullet * @version $Id: MyProducer.java */public class MyProducer { public static void main(String[] args) { //连接broker,就是我们刚刚防火墙里面打开的那个端口 ConnectionFactory cf= new ActiveMQConnectionFactory("tcp://192.168.1.10:61616"); //创建了一个队列名称为 "user.queue" Destination destination=new ActiveMQQueue("user.queuer"); Connection conn=null; try { //从连接工程里面获取一个新连接 conn=cf.createConnection(); //自动确认消息的发送 Session session=conn.createSession(false, Session.AUTO_ACKNOWLEDGE); //创建一个消息生产者,并且配置发送消息的地址 MessageProducer producer=session.createProducer(destination); //创建一个map类型的消息 MapMessage message=session.createMapMessage(); message.setString("userId", "123456"); message.setString("userName", "李四"); message.setInt("age", 18); //发送 producer.send(message); //关闭 session.close(); } catch (Exception e) { throw new RuntimeException(e); }finally{ if(conn!=null){ try { conn.close(); } catch (Exception e2) { // TODO: handle exception } } } }}运行一下,我们刷新一下amq的控制台可以看见
我们可以看到消息发送成功
接下来写一下消息消费者
一样,我们创建一个maven工程
创建一个消息消费者的类
package com.pcx.amqconsumer;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.MapMessage;import javax.jms.MessageConsumer;import javax.jms.Session;import org.apache.activemq.ActiveMQConnectionFactory;import org.apache.activemq.command.ActiveMQQueue;/** * * @author scarletbullet * @version $Id: MyConsumer.java, */public class MyConsumer { public static void main(String[] args) { //连接broker,就是我们刚刚防火墙里面打开的那个端口 ConnectionFactory cf= new ActiveMQConnectionFactory("tcp://192.168.1.10:61616"); //创建了一个队列名称为 "user.queue" Destination destination=new ActiveMQQueue("user.queuer"); Connection conn=null; try { //从连接工程里面获取一个新连接 conn=cf.createConnection(); //自动确认消息的接受 Session session=conn.createSession(false, Session.AUTO_ACKNOWLEDGE); //创建一个消费者 MessageConsumer consumer=session.createConsumer(destination); conn.start(); //同步阻塞等待接受消息 MapMessage message=(MapMessage)consumer.receive(); System.out.println(message.getInt("age") +" "+ message.getString("userId")+" "+message.getString("userName")); session.close(); } catch (Exception e) { throw new RuntimeException(e); }finally{ if(conn!=null){ try { conn.close(); } catch (Exception e2) { // TODO: handle exception } } } }}run一下这个java类
我们可以在控制台看到
0 0
- activemq使用系列: linux环境下ActiveMQ 的安装与使用(单节点)
- ActiveMQ 的安装与使用(单节点)
- ActiveMQ 的安装与使用(单节点)
- Dubbo教程高级篇--ActiveMQ的安装与使用(单节点)
- 跟我学习dubbo-ActiveMQ的安装-单节点与使用(9)
- 分布式架构学习之:015--ActiveMQ 的安装与使用(单节点)
- 分布式架构实战--ActiveMQ的安装与使用(单节点)
- linux上安装activeMQ(单节点)
- ActiveMQ 的安装(单节点)
- ActiveMQ的安装与使用
- linux:安装使用activemq
- activemq使用系列: spring与activemq的整合
- activemq安装与使用
- ActiveMQ安装与使用
- Activemq安装与使用
- ActiveMQ安装与使用
- linux环境下安装activeMQ
- activemq的安装使用
- Linux学习日志(十三)
- Linux学习日志(十二)
- Linux学习日志(十一)
- Linux学习日志(十)
- Ubuntu 更改文件夹权限及chmod详细用法
- activemq使用系列: linux环境下ActiveMQ 的安装与使用(单节点)
- ubuntu 16.04 使用五笔拼音输入法
- Material-UI + React + Babel + Webpack 环境配置
- 【离线Tarjan 模板】LCA tarjan 算法 练习: hdu 2586 + poj 1986
- 用UGUI简单实现Inventory案例
- activemq使用系列: spring与activemq的整合
- activemq使用系列: 使用JmsGatewaySupport构建出通用的消息收发代码
- 设计模式之策略模式Stragegy Pattern
- Geekband011第十一周笔记分享