Activemq xmpp配置,Spark測試登入

Activemq xmpp配置

 1、xmpp server
 2、 activemq

1、配置xmpp server
    下載地址
    http://www.igniterealtime.org/downloads/index.jsp
   
    Openfire 3.6.4(server)
    Spark 2.5.8(TestClient)

 http://www.igniterealtime.org/downloads/download-landing.jsp?file=spark/online/spark_2_5_8_online.exe   http://www.igniterealtime.org/downloads/download-landing.jsp?file=spark/online/spark_2_0_3_online.exe

   Spark 2.0.0 works fine with ActiveMQ.
   Spark 2.5.x connects fine, but it won't open the Join Conference Room dialog.

   (2.5.X能登入但是不能創建房間,2.可以登入。可以創建房間與activemq進行top通信)

Smack 3.1.0(java XMPP client librar)


    Openfire (Includes Java JRE (recommended)和 Does not include Java JRE)
    如果已經配置好java_home,可以自己下載Does not include Java JRE版本


    windows os 下解壓並執行openfire_3_6_4/openfire/bin/openfired.exe,然後會彈出窗體Openfire管理平臺開始監聽監聽,默認端口是(http://host:9090,https://host:9091),打開http://localhost:9090,選擇語言後第一次會進行初始化配置,大概是選擇數據庫、是否配置LDAP等相關配置選項,配置完成管理後臺的服務器設置有一個服務器到服務器的選項:
     允許聯接
    任何服務器 - 任何遠程服務器允許聯接到本服務器。使用下面表格代替初使設置。
    允許聯接名單 - 僅允許部分遠程服務器聯接到本服務器。使用下面的表格定義允許遠程聯接的服務器及它們的設置。
    可以再在表格添加localhost(域) 61222(端口)代替初使設置


2.activemq 配置
 開啓<transportConnector name="xmpp" uri="xmpp://localhost:61222"/>啓動可以了


3、測試可看看官方文檔,雖然官方文檔不完整
 http://activemq.apache.org/xmpp.html
  (登錄的時候如果出現:can't connect to server.invalid name or server not reachable錯誤的時候查看服務器文本框裏是不是填寫正確,如果填的是localhost:61222這樣的話報出這個錯誤的話就不能加端口只填服務器名字或IP,那麼端口呢,可以點高級->一般->自動檢測主機和端口的勾去掉->連線下面的填上主機和端口號,確定後在進行登入測試)
 
   我曾經遇到一個問題就是,以上配置都完成了,登錄不成功(賬號密碼都正確),提示invalid username or password,經檢查的原因是我啓動的activemq用的jre用的是1.5版本,換成1.6就可以成功登入,原因大概就是當點Spark(連接activemq的xmpp端口時)登入時,在org.apache.activemq.transport.xmpp.XmppTransport 的 doRun()方法中 有一行代碼是XMLInputFactory xif = XMLInputFactory.newInstance(),使用jre1.5和jre1.6的版本實例化對象不一樣,如果是1.5的實例化完後執行到xmlReader = xif.createXMLEventReader(inputStream)後不會往下執行,這時候報出invalid username or password,1.6則可以繼續往下執行然後登入成功,具體我也不清楚是不是跟我的系統環境有關,反正換了1.6就沒問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章