zoukankan      html  css  js  c++  java
  • 源码部署~ActiveMQ

    MQ

      MQ英文名MessageQueue,中文名也就是大家用的消息队列,说白了就是一个消息的接受和转发的容器,可用于消息推送。


    ActiveMQ介绍

       ActiveMQ是Apache出品的,最流行的,能力强劲的开源消息总线,ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间任然扮演着特殊的地位;

      JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。。

     特点:

    1. 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP;
    2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务);
    3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性;
    4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上;
    5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA;
    6. 支持通过JDBC和journal提供高速的消息持久化;
    7. 从设计上保证了高性能的集群,客户端-服务器,点对点;
    8. 支持Ajax;
    9. 支持与Axis的整合;
    10. 可以很容易的调用内嵌JMS provider,进行测试.

    其他开源JMS供应商:

      jbossmq(jboss 4)  jboss messaging (jboss 5)  RabbitMQ  joram-4.3.21  mantamq  ubermq ..


    环境准备

    [root@localhost ~]# cat /etc/redhat-release 
    CentOS release 6.5 (Final)
    [root@localhost ~]# uname -r
    2.6.32-431.el6.x86_64
    [root@localhost ~]# uname -m
    x86_64
    源码包版本 说明
    jdk-7u65-linux-x64.gz 此环境需要jdk版本为1.7以上;
    apache-activemq-5.14.5-bin.tar.gz  

    JAVA环境部署

    [root@localhost ~]# cd /soft/            # 进入源码包放置目录
    [root@localhost soft]# tar xf jdk-7u65-linux-x64.gz -C /usr/local/    #解压jdk源码包到/usr/local/目录下
    [root@localhost soft]# cd /usr/local/   # 切换至解压目录
    [root@localhost local]# mv jdk1.7.0_65/ java/    # 给jdk更名java目录
    [root@localhost local]# vim /etc/profile    # 更改系统配置,全局变量;
        export JAVA_HOME=/usr/local/java      
        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
        export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:$JAVA_HOME/bin
    [root@localhost local]# source /etc/profile        # 声明全局变量
    [root@localhost local]# java -version           # 查看java版本,确定安装成功.
    java version "1.7.0_65"
    Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
    Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

    解压部署ActiveMQ

    [root@localhost soft]# tar xf apache-activemq-5.14.5-bin.tar.gz -C /usr/local/        # 解压acitvemq源码包
    [root@localhost soft]# cd /usr/local/       # 进入解压目录
    [root@localhost local]# mv apache-activemq-5.14.5/ activemq~1    # 更改activemq名称(解压后直接使用)

    ActiveMQ配置文件

    [root@localhost ~]# cd /usr/local/activemq~1/conf/    # activemq配置文件目录
    [root@localhost conf]# ls
    activemq.xml           credentials-enc.properties  jmx.access
    broker.ks              credentials.properties      jmx.password
    broker-localhost.cert  groups.properties           log4j.properties
    broker.ts              java.security               logging.properties
    client.ks              jetty-realm.properties      login.config
    client.ts              jetty.xml                   users.properties
        # activemq.xml    配置broker连接端口(61616);还有5672端口,若同时存在rabbitmq时,此端口需要更改.
        # jetty.xml    配置activemq的控制台端口(8161);在30行修改登录用户,默认为user,admin;可自行添加或修改;
        # jetty-realm.properties    添加上面建立的用户,修改密码;

    配置broken(61616端口)

    [root@localhost conf]# vim activemq.xml
        113             <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumCo    nnections=1000&amp;wireFormat.maxFrameSize=104857600"/>    # 默认端口为 61616;可自行修改;   
        114             <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnec    tions=1000&amp;wireFormat.maxFrameSize=104857600"/>    # 注意此端口,若服务中心存在rabbitmq.可能会引起端口冲突;
        115             <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumCon    nections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        116             <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnec    tions=1000&amp;wireFormat.maxFrameSize=104857600"/>
        117             <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnectio    ns=1000&amp;wireFormat.maxFrameSize=104857600"/>

    配置控制台端口(8161)及管理登录用户

    [root@localhost conf]# vim jetty.xml
         29         <property name="name" value="BASIC" />    
         30         <property name="roles" value="user,admin" />      # value后面跟的是可登陆activemq的用户,可自行添加与修改,已逗号(,)隔开;登录密码在"jetty-realm.properties"文件中配置;
         31         <!-- set authenticate=false to disable login -->        # 确认次数为"true",说明在web登录时会开启认证;若为"flash",则不需要认证.
         32         <property name="authenticate" value="true" />
    
    
    --------------
        109         <property name="host" value="0.0.0.0"/>
        110         <property name="port" value="8161"/>        # 控制台端口(默认为8161);

    密码管理配置文件

    [root@localhost conf]# vim jetty-realm.properties
         20 admin: admin, admin
         21 user: user, user
        # 添加格式:::   每行管理单独的一个用户, 第一列表示"用户名";第二列表示"密码";第三列表示"角色".

    Activemq管理命令

    [root@localhost bin]# pwd
    /usr/local/activemq~1/bin
    [root@localhost bin]# ./activemq start|stop|restart|status

    作者:TZHR —— 世间一散人

    出处:https://www.cnblogs.com/haorong/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明

  • 相关阅读:
    Supreme(ง •̀_•́)ง
    基于VS快速排序的单元测试
    POST GET
    Go对比其他语言新特性1(字符类型、类型转换、运算符、键盘输入、for、switch)
    四则运算问题
    软件工程第三次作业!
    Servlet
    结对编程1
    Kafka技术原理知识点总结
    KafkaStream简介
  • 原文地址:https://www.cnblogs.com/haorong/p/8086618.html
Copyright © 2011-2022 走看看