XMPP

連線能力 > 協定 > XMPP

XMPP 協定支援 (Jabber!)

已過時

此傳輸方式已在 5.8.0 版本中棄用,並在 5.9.0 版本中移除!

我們在 ActiveMQ Classic 中支援 XMPP (Jabber) 作為傳輸方式。

若要使用,只需新增一個連接器如下:

<broker xmlns="http://activemq.org/config/1.0">
  <transportConnectors>
     <transportConnector name="openwire" uri="tcp://127.0.0.1:61616" discoveryUri="multicast://default"/>
     <transportConnector name="stomp"    uri="stomp://127.0.0.1:61613"/>
     <transportConnector name="xmpp"     uri="xmpp://127.0.0.1:61222"/>
  </transportConnectors>
</broker>

現在您可以使用 XMPP 連接到代理程式,並傳送和接收訊息。

某些版本的代理程式 (5.0-5.2) 預設不包含 WoodStox 程式庫,這可能會影響 ActiveMQ Classic 的 XMPP 功能。您的代理程式的 lib/optional 目錄中應該有一個名為 wstx-asl-x.x.x.jar 的程式庫。如果沒有,請從 這裡 下載並放入類別路徑中。

Apache ActiveMQ Classic 中的 XMPP 支援

ActiveMQ Classic 提供 ActiveMQ Classic 訊息和 XMPP 之間的雙向橋接。

  • 如果客戶端加入聊天室/會議室,會議室的名稱會被對應到同名的 JMS 主題。
  • 在聊天室中輸入內容會將訊息傳送到該主題。
  • 在聊天室中的狀態會維護 JMS 主題的訂閱(使用 noLocal 來避免接收自己所說內容的副本),因此由其他客戶端傳送的訊息(透過 XMPPWeb 控制台範例 或任何其他 跨語言客戶端)會接著傳送到聊天室。

使用 Jabber 客戶端

基本上,您應該能夠從任何與 Jabber 相容的客戶端連線到代理程式。以下範例使用 Spark 2.0.0 版本。如需有關使用不同客戶端連線的更多詳細資訊,請參閱 #Jabber 客戶端相容性

若要連線到 Apache ActiveMQ Classic,請嘗試以下步驟…

  1. 執行 Web 控制台
  2. 啟動 Spark 或您想要的任何 Jabber 客戶端
  3. 登入 localhost:61222

    某些 Jabber 客戶端(例如 iChat)堅持使用 使用者名稱@主機 格式的使用者名稱,因此在這種情況下,只需在您的使用者名稱後面附加 @localhost 即可。

    某些 Jabber 客戶端喜歡自動探索主機和連接埠。您需要明確停用此功能,以便您可以明確將 localhost 設定為主機,並將 61222 設定為連接埠。

    例如,在 Spark 上,前往 進階 標籤並停用 自動探索主機和連接埠

  4. 您現在應該會看到以下畫面…

  5. 現在按一下 加入會議室 按鈕(在新增聯絡人按鈕旁邊),應該會出現以下對話方塊

  6. 現在按下 建立或加入房間 按鈕以顯示以下對話方塊。輸入 JMS 主題名稱,在此範例中為 foo.bar,這樣就可以了…

  7. 現在您的聊天視窗應該會出現,以供交談和收聽主題 foo.bar。因此,請開始輸入內容來測試看看。 

  8. 現在,如果您前往 Web 控制台中的 主題控制台,您應該會看到已建立的主題。

  9. 如果您現在按一下 foo.bar 主題旁邊的 傳送至 連結,您可以從 Web 控制台將訊息傳送到該主題。 

  10. 按下傳送,您應該會在聊天視窗中看到聊天內容。

Jabber 客戶端相容性

在這裡您可以找到各種 Jabber 客戶端的特定問題和解決方法。如果您有自己的解決方法,請在此處張貼。

Spark

網址:http://www.igniterealtime.org/projects/spark/index.jsp
Spark 2.0.0 與 ActiveMQ Classic 運作良好;按一下 這裡 以下載:適用於 Windows 的 Spark 2.0.0
Spark 2.5.x 連線正常,但它不會開啟 加入會議室 對話方塊。

iChat

網址:http://www.apple.com/macosx/features/ichat.md
測試的 4.0.7 版本運作正常,但它堅持您使用 使用者名稱@主機 格式的使用者名稱。

Adium

網址:http://www.adiumx.com/
測試的 1.3.3 版本運作正常。唯一發現的問題是重新連線到 Command Agent 主題。如果您需要執行此操作,我們建議您重新啟動 Adium。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 The Apache Software Foundation 的商標。Copyright © 2024, The Apache Software Foundation。在 Apache 授權條款 2.0 下獲得許可。