JBoss Fuse - Apache AMQ

在本章中,我们将了解 ActiveMQ 以及它如何充当消息代理以允许应用程序相互通信。

什么是 AMQ?

ActiveMQ 是一个用 Java 编写的开源消息代理。它完全符合 JMS 1.1 标准。

JMS 是一种允许开发基于消息的系统的规范。 ActiveMQ 充当位于应用程序之间的消息代理,允许它们以异步和可靠的方式进行通信。

AMQ

消息类型

为了更好地理解,下面解释了两种类型的消息选项。

点对点

在这种类型的通信中,代理只向一个消费者发送消息,而其他消费者将等待,直到他们从代理那里获得消息。没有消费者会收到相同的消息。

如果没有消费者,代理将保留消息,直到它找到一个消费者。这种类型的通信也称为基于队列的通信,其中生产者将消息发送到队列,并且只有一个消费者从队列中获取一条消息。如果有多个消费者,他们可能会收到下一条消息,但不会收到与其他消费者相同的消息。

点对点消息传递

发布/订阅

在这种类型的通信中,代理会向所有活跃消费者发送相同的消息副本。这种类型的通信也称为基于主题的通信,其中代理会向已订阅特定主题的所有活跃消费者发送相同的消息。此模型支持单向通信,无需验证传输的消息。

发布/订阅消息传递

创建队列和主题

Fuse 与 ActiveMQ 捆绑在一起。我们可以使用 FMC 控制台(与 AMQ 配合使用的基于浏览器的界面)访问 ActiveMQ。

使用 localhost:8181 登录 FMC 并选择 ActiveMQ 选项卡。

ActiveMQ
  • 单击 +Create
  • 输入队列/主题名称
  • 从单选按钮中选择队列/主题
  • 单击创建队列/创建主题
队列/创建主题

现在您应该能够看到在 root 下创建的 TestQ →队列 →

TestQ

要检查创建的主题,请按照 root → 主题操作。

浏览/删除队列的内容

  • 使用 localhost:8181

  • 登录 FMC
  • 选择 ActiveMQ 选项卡

  • Root → 队列 → TestQ <选择要浏览的队列> →浏览

FMC
  • 要检查此消息的内容,请单击该特定消息。
Message
  • 您可以通过单击右上角显示的删除按钮来删除特定消息