您好,登錄后才能下訂單哦!
一. Apollo簡介
Apache Apollo是一個代理服務器,其是在ActiveMQ基礎上發展而來的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多種協議。
官網鏈接
自己使用Apollo主要是用它做mqtt服務器。
二. 源代碼下載
代碼下載編譯官方指導
使用svn checkout代碼:
svn co http://svn.apache.org/repos/asf/activemq/activemq-apollo/trunk apollo
三. 環境準備
JDK1.7
JDK官網下載
scala 2.12.2
scala安裝教程
scala官網下載
mvn3.5.0
maven官網
四. 編譯
1. 進入到源代碼目錄
2.增加內存配置,因為Apollo編譯很耗內存 export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"
3.編譯 mvn -Dtest=false install 跳過測試步驟 apollo編譯過程中會執行測試過程,比如: ------------------------------------------------------ T E S T S ------------------------------------------------------- Running org.apache.activemq.apollo.openwire.codec.BooleanStreamTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.825 sec Running org.apache.activemq.apollo.openwire.test.OpenwireBDBParallelTest ParallelJUnitRunner using up to 8 threads to execute parallel tests.
官方編譯指導文檔
五. 編譯生成目錄
Apollo源代碼/apollo-distro/target
六. 編譯出現的問題:
1.JDK1.8和scala不能兼容
編譯scala程序時出現 is broken錯誤,如下:
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/rt.jar(java/lang/reflect/AnnotatedElement.class)' is broken
可以把JDK改成1.7進行編譯
2.Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
在編譯之前執行
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。