XMPP

连接性 > 协议 > XMPP

XMPP 协议支持(Jabber!)

已弃用

该传输在 5.8.0 中已弃用,并在 5.9.0 中已删除!

我们支持 XMPP (Jabber)作为 ActiveMQ Classic 中的传输。

要使用,只需添加以下连接器

<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)坚持使用 username@host 形式的用户名,因此在这种情况下,只需将 @localhost 附加到您的用户名

    一些 Jabber 客户端喜欢自动发现主机和端口。您需要显式禁用此功能,以便可以显式配置 localhost 作为主机,61222 作为端口。

    例如,在 Spark 上,转到 高级 选项卡并禁用 自动发现主机和端口

  4. 您现在应该看到以下屏幕…

  5. 现在单击 加入会议室 按钮(在添加联系人按钮旁边),以下对话框应该出现

  6. 现在按下 创建或加入房间 按钮以获取以下对话框。输入 JMS 主题名称,在本例中为 foo.bar,您就可以开始了…

  7. 现在您的聊天窗口应该出现,用于与主题 foo.bar 进行对话和收听。因此开始键入以测试事物。

  8. 现在,如果您在 Web 控制台中转到 主题控制台,您应该看到该主题已创建

  9. 如果您现在单击 foo.bar 主题旁边的 发送到 链接,您就可以从 Web 控制台向该主题发送消息。

  10. 按下发送,您应该看到聊天出现在聊天窗口中

Jabber 客户端兼容性

您可以在此处找到各种 Jabber 客户端的特定问题和解决方法。如果您有自己的问题,请在此处发布。

Spark

URL: http://www.igniterealtime.org/projects/spark/index.jsp
Spark 2.0.0 可以与 ActiveMQ Classic 完美配合;单击 这里 下载:适用于 Windows 的 Spark 2.0.0
Spark 2.5.x 连接良好,但不会打开 加入会议室 对话框。

iChat

URL: http://www.apple.com/macosx/features/ichat.md
测试版 4.0.7 可以正常工作,但它坚持要求您使用 username@host 格式的用户名

Adium

URL: http://www.adiumx.com/
测试版 1.3.3 可以正常工作。唯一发现的问题是重新连接到 命令代理 主题。如果您需要这样做,建议您重新启动 Adium

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛标志和 Apache ActiveMQ 项目标志是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 许可。