Apache Apollo
官网参考: http://activemq.apache.org/apollo/
Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。
源码地址: http://activemq.apache.org/apollo/community/source.html
官网参考手册: http://activemq.apache.org/apollo/versions/1.0/website/documentation/
checkOut : http://svn.apache.org/repos/asf/activemq/activemq-apollo/trunk
看代码:
首先准备:
Java 1.6
Download and install Maven 3
Get the latest source(用svn checkout)
mvn 搭建项目:
首先设置mvn : set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m
通常情况下,用该命令编译项目:mvn install。如果编译通过会在apollo-distro/target目录下找到项目编译文件。
如果不用上面的命令,可以用下面这个稍微简介一些的命令(速度快,可以跳出test) mvn -Dtest=false install
如果你想用maven生成 IDE 的 .project ,可以使用:mvn eclipse:eclipse
将项目导入 eclipse 准备工作:
1. 将maven 库导入IDE(eclipse)。 Java -> Build Path -> Classpath 定义一个新的变量:M2_REPO 指向 maven repository。在windows通常是 c:\Documents and Settings\$username\.m2\repository 
   你也可以通过maven命令执行上面的设置操作:mvn eclipse:add-maven-repo -Declipse.workspace=/path/to/the/workspace/
2. 因为项目中还有**.jj 文件,也就是javacc 代码,所有你还要安装javacc eclipse plugin 
安装javacc eclipse 插件的方法可以参考:(值得注意的是javacc 插件目前最高只支持3.7.2 ,所以你的eclipse最好用3.6, 3.6.2, 3.7, 3.7.2 。)

http://eclipse-javacc.sourceforge.net/

3. 因为项目中有scala代码,所以为了编译成功需要安装scala插件。
具体可以参看: http://blog.csdn.net/wuyinxian/article/details/38727717
如果下载很慢,我有提供资源 :  源代码
如果导入Eclipse,也安装了scala 插件,还是有一些项目报错,你需要用jar包替换报错的项目: 下载jar包(1.5)
下面是更多关于Apache Apollo的介绍
原文地址: http://java.dzone.com/articles/introducing-apache-apollo-part

Apache Apollo是下一代的ActiveMQ系统。为了在多核的计算机上有更快的处理速度和更大的处理规模,Apollo“从头开始”重新设计了内核。ActiveMQ是最受欢迎的开源消息中间件(如果不是最受欢迎的,OneCoder注:作者意思应该是指如果不仅仅在开源界),并且有很好的性能,消息持久化,高可用性以及网络代理(networks of brokers)等特性。最重要的是,ActiveMQ已经在使用中变得十分稳定,并且我们已经成功使用ActiveMQ支持了如零售、银行、电子上午和政府等领域的世界知名企业。

随着ActiveMQ的逐渐壮大, 其内部复杂的线程实现,导致其在高核心,高资源配置的计算机上扩展性不佳。线程实现问题的关键点不在于不合适的线程使用,更多的是因为其设计和开发之初,是处在没有很多可靠的异步Java API和非阻塞的IO库的时期。任何系统在有状态共享,争用同步(contended synchronizations ),独占锁的情况下都容易有扩展性问题。

然而,ActiveMQ在其擅长的领域表现尚可,并且由于在现在很稳定,重写其线程架构似乎并不是一个好注意。所以,Apollo诞生了,现在是ActiveMQ的一个子项目。我们仍可以沿用ActiveMQ5.x系列的使用习惯去使用他,不过现在是在新的线程架构之下,并且可以支持未来百万级别的消息目标地址,成千上万的连接,高吞吐率以及对资源的最大程度的利用。特别是,当后端的兼容性完成以后,Apollo便会成为ActiveMQ6.0。

对于那些提问说:“这是否意味着ActiveMQ的寿命即将终止?”的人。斩钉截铁的回答:不!。ActiveMQ在那之前还有很长的路要走,如之前提到的正在被企业领导所使用。ActiveMQ的Bug的修复和支持仍然依赖于FuseSource (不久将会变为RedHat),当然还有社区。只要对社区的兴趣还在,ActiveMQ(包括其他的Apache项目)就不会消亡。

Apollo的目标不是遥不可及,它也不是一个新生的工程。它其实已经开发2年多了,在beta阶段有6个版本,在2012年2月发布了1.0版。已经有不少的人在使用Apollo。Apollo的开发经理 Hiram Chirino发布Apollo与其他消息代理的一些参数指标的对比,如:RabbiMQ,HornetQ以及ActiveMQ。参见 the stomp benchmarks here 和 the JMS benchmarks.

因为项目中还有**.jj 文件,也就是javacc 代码,所有你还要安装javacc eclipse plugin 
安装javacc eclipse 插件的方法可以参考:(值得注意的是javacc 插件目前最高只支持3.7.2 ,所以你的eclipse最好用3.6, 3.6.2, 3.7, 3.7.2 。)

http://eclipse-javacc.sourceforge.net/

Apache Apollo相关推荐

  1. Apache Apollo REST API

    Apache Apollo是新一代,高性能,多协议的消息传递代理,它是从头开始构建的,可以替代ActiveMQ5.x. 我过去曾在博客上发表过文章 (第一部分已经与第二部分一起发布了). Apollo ...

  2. 快速搭建MQTT服务器(MQTTnet和Apache Apollo)

    前言 MQTT协议是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分,http://mqtt.org/. MQTT is a machine-to-machine (M2M)/" ...

  3. Apache apollo 配置说明及用户名和密码管理

    Apache Apollo是一个代理服务器,主要用于消息的请求转发,下面是其常用的一些配置文件的介绍 一.users.properties: 用来配置可以使用服务器的用户以及相应的密码. 其在文件中的 ...

  4. mqtt协议之Apache Apollo 安装和配置

    由于项目需要用到mqtt来做推送 ,所有找了下资料,不过配置这块讲解的都不太详细,所以做一篇攻略来给需要填坑的朋友一起交流. 分三部分来讲解: 一:什么是mqtt 二:中间件的选择(我们用到的是Apa ...

  5. MQTT协议之 Apache Apollo服务搭建

    一.说明 MQTT是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分.该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网) ...

  6. MQTT协议之 Apache Apollo服务

    一.说明 MQTT是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分.该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网) ...

  7. linux编译部署,linux下编译并部署Apache Apollo

    前面的时候利用官网上下载的jar包完成了部署的内容.后来才发现,官网上也是提供了源码的,下载的jar包是官方帮你编译好的东西,所以,笔者再次下载源码,完成整个流程. 一)配置环境 编译之前,你得有2个 ...

  8. apache apollo php,php windows環境 安裝 Apache-apollo + phpMQTT 實現發送 MQTT

    首先安裝Apache-apollo 1.首先從http://activemq.apache.org/apollo/download.html官網上下載windows對應的apollo版本,本文下載的是 ...

  9. appollo消息服务器,搭建Apache apollo消息队列服务、简单访问

    官网:http://activemq.apache.org/apollo/index.html 环境:ubuntu 16.04 1.安装好jdk 2.下载解压 wget http://mirrors. ...

最新文章

  1. 用Python建立最简单的web服务器
  2. Ninject + UnitTesting + Moq
  3. 数据结构—分别用头插法和尾插法建立单链表
  4. Codeforces 1322D Reality Show (DP)
  5. jeecg 输入框属性 自定义ajax 验证字段值是否存在
  6. jsp-include 写法
  7. 【读书笔记】大数据之路:阿里巴巴大数据实践
  8. 【开发经验】fiddler实现请求转发
  9. Strust2 success sucess
  10. 软件工程 | 第六章 系统集成与测试
  11. shell子串截取的三种用法:
  12. UTF-8不是兼容Unicode吗? 那UTF-8也应该支持中文啊, 为什么上面的XML文档会 出现字符集错误的情况呢?
  13. 响应式布局的实现方法
  14. sklearn入门——逻辑回归
  15. AB实验只是开始!如何归因才是王道!
  16. mac安装sql server
  17. idea做一个日志自动生成的jar包,并用flume做生产者,采集日志数据,用kafka做消费者来消费日志数据
  18. 亲测 可用 des 加密
  19. 专业治疗选择困难症----帮你做选择
  20. lt;转gt;凯文#183;凯利斯坦福演讲-预言未来20年科技潮流

热门文章

  1. php sqlsrv 类,PHP for SQLSrv 操作类
  2. 五年200亿,浪潮云跟阿里云、腾讯云的玩法不一样!
  3. vlan-type dot1q 2 default
  4. c++复数计算器(四则运算+坐标模长、角度表示)
  5. 自定义menu菜单布局
  6. [基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式]
  7. jQuery 选择器 选取所有元素
  8. Java基础知识复习01:从基础知识---面向对象(后续会更新)
  9. 易语言返回数组数据的解决方法
  10. Flutter中使用Rive时出现闪退问题可能原因