zoukankan      html  css  js  c++  java
  • ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)

    一、什么是ActiveMQ

    度娘给出的定义:

    Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。

    ActiveMQ的官网打出的标语(如上图):

    Flexible & Powerful Open Source Multi-Protocol Messaging

    大意是:兼容性好并且功能强大的开源多协议消息中间件,那具体是怎么体现的呢?
    1.兼容性好:
    ActiveMQ可以很容易内嵌到使用Spring的系统里面去,
    通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
    2.功能强大:
    支持通过JDBC和journal提供高速的消息持久化,
    支持客户端-服务器,点对点
    支持Ajax
    支持与Axis的整合, WebServices
    可以很容易的调用内嵌JMS provider进行测试
    从设计上保证了高性能的集群

    3.多协议:
    应用协议有OpenWire,Stomp REST,WS Notification,XMPP,AMQP,
    还支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
    总之一句话,ActiveMQ是一个消息中间件并且很好很强大,需要用到消息中间件的时候我们选他就对了。

    二、ActiveMQ的名词解释

    在JMS规范中,所有的标准定义都在javax.jms包中,它的功能实现和我们即将要写的代码中都会用到下面的内容:

    1.Destination(目的地)
    用于对Message进行管理的对象,由ActiveMQ负责维护。
    MessageProducer需要指定Destination才能发送消息,MessageConsumer需要指定Destination才能接收消息。
    2.Producer(消息生产者)
    负责生成消息并发送目的地。应用接口为MessageProducer。
    3.Consumer(消息消费者)
    负责从目的地中消费【处理|监听|订阅】Message。应用接口为MessageConsumer
    4.Message(消息)
    消息封装一次通信的内容。常见类型有:StreamMessage、BytesMessage、TextMessage、ObjectMessage、MapMessage。
    5.ConnectionFactory(连接工厂)
    用于创建连接的工厂类型
    6.Connection(连接)
    用于建立访问ActiveMQ连接的类型, 由链接工厂创建。
    7.Session(会话)
    一次持久有效有状态的访问。由connection创建,是具体操作消息的基础支撑。
    8.Queue & Topic
    Queue是队列目的地,Topic是主题目的地。都是Destination的子接口。
    Queue特点: 队列中的消息,默认只能由唯一的一个消费者处理。一旦处理,消息删除。
    Topic特点:主题中的消息,会发送给所有的消费者同时处理。只有在消息可以重复处理的业务场景中可使用。
    9.PTP(Point to Point,点对点消息模型)
    就是基于Queue实现的消息处理方式。
    10.PUB & SUB(Publish & Subscribe ,消息的发布/订阅模型)
    是基于Topic实现的消息处理方式。

    三、Windows下安装ActiveMQ

    官网上下载即可:

    下载后直接解压缩直接就能用(免安装)。

    它的目录结构:

    bin/是服务启动相关的命令文件所在目录

    data/是默认持久化文件所在目录

    docs/里面放的是用户手册

    conf/是配置文件所在目录,任何配置文件修改后,必须重启ActiveMQ,才能生效.
    有几个配置文件需要提下,后面会用到:
    1.activemq.xml
    就是spring配置文件。配置的是ActiveMQ应用使用的默认对象组件.
    transportConnectors标签 - 配置链接端口信息的. 其中的端口号61616是ActiveMQ对外发布的tcp协议访问端口. 就是java代码访问ActiveMQ时使用的端口.

    配置安全认证和持久化都是在这个文件里面。

    2.jetty.xml
    spring配置文件, ActiveMQ使用的是jetty提供HTTP服务,因此需要该文件用于配置jetty服务器的默认对象组件.

    3.users.properties
    内容信息: 用户名=密码

    是用于配置客户端通过协议访问ActiveMQ时,使用的用户名和密码.

    4.groups.properties

    内容信息: 用户组=用户1,用户2(多个用户中间用逗号隔开)

    类似于角色的概念,也类似于操作系统用户所在的用户组

    四、启动服务,并到页面控制台查看
    双击binwin64目录下的activemq批处理文件,即可启动(如果系统是32位的,就启动binwin32目录下的)。

    启动完成后,可以进入页面控制台查看。

    同RabbitMQ类似,ActiveMQ也默认支持一个网页版的服务查看站点,可以实现ActiveMQ中消息相关数据的页面查看.
    ActiveMQ网页版管理站点的默认端口8161端口就配置在jetty.xml文件中。

    访问http://localhost:8161/admin/,输入默认的用户名和密码admin/admin,即可看到管理台页面。

    可以看到在前面名词解释中提到的内容

    至此,ActiveMQ就安装完了。

  • 相关阅读:
    Delphi下遍历文件夹下所有文件的递归算法
    mysql + unidac 使用事务例子
    新建DataSnap REST Application
    ClientDataSet中的错误处理
    TSQLConnection的事务处理
    ClientDataSet的查找和过滤功能
    TField中的GetText和SetText
    ClientDataSet中撤消与恢复操作及执行细节
    ClientDataSet中动态添加计算字段并用计算字段显示记录的UpdateStatus
    ClientDataSet中动态添加计算字段
  • 原文地址:https://www.cnblogs.com/sam-uncle/p/10979049.html
Copyright © 2011-2022 走看看