zoukankan      html  css  js  c++  java
  • ActiveMQ 简介与安装

    一、 概述与介绍

    ActiveMQ 是Apache出品,最流行的、功能强大的即时通讯和集成模式的开源服务器。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。提供客户端支持跨语言和协议,带有易于在充分支持JMS 1.1和1.4使用J2EE企业集成模式和许多先进的功能。


    二、 特性

    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,进行测试

    三、 安装
    1、 下载ActiveMQ,下载地址:http://www.apache.org/dyn/closer.cgi?path=/activemq/apache-activemq/5.12.0/

    2、windows下解压apache-activemq-5.12.0.zip即可完成ActiveMQ的安装。运行activemq.bat文件。

    3、linux和mac下解压文件到运行目录/activeServer
    tar -xzvf /server/apache-activemq-5.12.0-bin.tar.gz
    修改activemq运行文件的权限 
    cd /server/apache-activemq-5.12.2/bin 
    chmod 755 activemq 
    运行./activemq
    三种运行方式:
    (1)普通启动 ./activemq start
    (2)启动并指定日志文件 ./activemq start >tmp/smlog
    (3)后台启动方式nohup ./activemq start >/tmp/smlog
    前两种方式下在命令行窗口关闭时或者ctrl+c时导致进程退出,采用后台启动方式则可以避免这种情况

    四、检查已经启动
    ActiveMQ默认采用61616端口提供JMS服务,使用8161端口提供管理控制台服务,执行以下命令以便检验是否已经成功启动ActiveMQ服务。
    打开端口:nc -lp 61616 &
    查看哪些端口被打开 netstat -anp
    查看61616端口是否打开: netstat -an | grep 61616
    检查是否已经启动:
    (1).查看控制台输出或者日志文件 
    (2).直接访问activemq的管理页面:http://localhost:8161/admin/ 默认用户名和密码admin/admin。如果你想修改用户名和密码的话,在conf/jetty-realm.properties中修改即可。
    (3)简单的安全认证(使用SimpleAuthenticationPlugin) 
    配置simpleAuthenticationPlugin,简单认证插件
    <!--加载属性配置文件--> 
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
    <value>file:///${activemq.base}/conf/credentials.properties</value> 
    </property> 
    </bean>
    <!--在Broker中,配置插件--> 
    <plugins> 
    <simpleAuthenticationPlugin> 
    <users> 
    <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/> 
    </users> 
    </simpleAuthenticationPlugin> 
    </plugins>

    五、消息示例

    ActiviteMQ消息有3中形式

    JMS 公共

    点对点域

    发布/订阅域

    ConnectionFactory

    QueueConnectionFactory

    TopicConnectionFactory

    Connection

    QueueConnection

    TopicConnection

    Destination

    Queue

    Topic

    Session

    QueueSession

    TopicSession

    MessageProducer

    QueueSender

    TopicPublisher

    MessageConsumer

    QueueReceiver

    TopicSubscriber

    (1)、点对点方式(point-to-point)

    点对点的消息发送方式主要建立在 Message Queue,Sender,reciever上,Message Queue 存贮消息,Sneder 发送消息,receive接收消息.具体点就是Sender Client发送Message Queue ,而 receiver Cliernt从Queue中接收消息和"发送消息已接受"到Quere,确认消息接收。消息发送客户端与接收客户端没有时间上的依赖,发送客户端可以在任何时刻发送信息到Queue,而不需要知道接收客户端是不是在运行

    (2)、发布/订阅 方式(publish/subscriber Messaging)

    发布/订阅方式用于多接收客户端的方式.作为发布订阅的方式,可能存在多个接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端只能接收他创建以后发送客户端发送的信息。作为subscriber ,在接收消息时有两种方法,destination的receive方法,和实现message listener 接口的onMessage 方法。

  • 相关阅读:
    android ListView加载不同布局
    实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory
    【翻译】Ext JS最新技巧——2015-10-21
    Android Studio下使用NDK的流程
    Android Studio JNI javah遇到的问题
    题解报告:hdu 1062 Text Reverse
    题解报告:hdu 1039 Easier Done Than Said?
    ACM_逆序数(归并排序)
    hdu 1556 Color the ball(区间修改,单点查询)
    hdu 1754 I Hate It(线段树)
  • 原文地址:https://www.cnblogs.com/houziwty/p/4773317.html
Copyright © 2011-2022 走看看