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 方法。

  • 相关阅读:
    unexpected inconsistency;run fsck manually esxi断电后虚拟机启动故障
    centos 安装mysql 5.7
    centos 7 卸载mysql
    centos7 在线安装mysql5.6,客户端远程连接mysql
    ubuntu 14.04配置ip和dns
    centos7 上搭建mqtt服务
    windows eclipse IDE打开当前类所在文件路径
    git 在非空文件夹clone新项目
    eclipse中java build path下 allow output folders for source folders 无法勾选,该如何解决 eclipse中java build path下 allow output folders for source folders 无法勾选,
    Eclipse Kepler中配置JadClipse
  • 原文地址:https://www.cnblogs.com/houziwty/p/4773317.html
Copyright © 2011-2022 走看看