Mule ESB 连接到 RabbitMQ

Posted

技术标签:

【中文标题】Mule ESB 连接到 RabbitMQ【英文标题】:Mule ESB connecting to RabbitMQ 【发布时间】:2016-03-17 11:49:51 【问题描述】:

我是 Mule ESB 3.6(Anypoint Studio 社区版 5.2)的新手。我正在研究 mule 和 rabbitmq 之间的通信。 rabbitmq 支持 AMQP 协议,mule 有 AMQP 连接器,但它适用于 3.1 版本。现在的问题是如果不是来自 mule 的 AMQP,如何连接?

我已经尝试过旧版本的 AMQP 连接器和新的 Mule 版本,但由于命名空间错误即将到来,它无法正常工作。请帮忙。 Maven 我不确定它是如何工作的,因为提供的用户指南非常少。在这种情况下 JMS 会起作用吗,那么如何呢?

【问题讨论】:

【参考方案1】:

我有幸发现了 AMQP 连接器的奥秘。好吧,我看不到mule文档中提到的有关安装的任何地方。好吧,我正在使用 Anypoint Studio - Mule ESB 工具 版本:5.1.0

如果您一直在寻找如何安装 AMQP 连接器,那么他是一种简单的方法 转到帮助 => 安装新软件 => 选择所有可用站点 => 选择社区类别 => 在社区下,您将找到 AMQP 传输连接器 => 选择它,去说是然后接受许可。 这将在您的 Studio 上安装 AMQP 传输连接器。您可以轻松地用于设计应用程序流程。

要帮助更多关于 AMQP 连接器的配置,请使用以下参考

<?xml version="1.0" encoding="UTF-8"?> <mule xmlns:amqp="http://www.mulesoft.org/schema/mule/amqp" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.6.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.mulesoft.org/schema/mule/amqp http://www.mulesoft.org/schema/mule/amqp/current/mule-amqp.xsd"> <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8082" doc:name="HTTP Listener Configuration"/> <amqp:connector name="AMQP_0_9_Connector" validateConnections="true" virtualHost="abctest" doc:name="AMQP-0-9 Connector"  username="guest" password="guest" /> <flow name="mulerabbitmqFlow"> <http:listener config-ref="HTTP_Listener_Configuration" path="/myvishaltest/*" allowedMethods="GET" doc:name="HTTP"/> <set-payload value="Test is Vishal" doc:name="Set Payload"/> <amqp:outbound-endpoint responseTimeout="10000" exchange-pattern="request-response" doc:name="AMQP-0-9" connector-ref="AMQP_0_9_Connector" exchangeName="vishalbhandare" exchangeType="direct"  exchangeDurable="true" queueName="task_queue"  queueDurable="true"  queueExclusive="true"   routingKey="vishal1" /> </flow> </mule>

【讨论】:

【参考方案2】:

对于所有连接器、示例和模板,请前往:

https://www.mulesoft.com/exchange

或者更简单,从 Anypoint Studio 中打开 Exchange

https://docs.mulesoft.com/mule-fundamentals/v/3.7/anypoint-exchange

AMQP 可以在这里找到:

https://www.mulesoft.com/exchange/#!/amqp-integration-connector

也可以通过工作室中的更新站点,但交流会为您提供概述、完整的库和描述。

【讨论】:

感谢您的回答。实际上 MuleSoft anypoint-exchange 文档让您对模块有很好的理解,但是如果您无法在 AnyPoint Studio 中安装模块,那么这种理解有什么用。提到了 amqp 连接器的安装,但当前任何点工作室都不能那样工作。

以上是关于Mule ESB 连接到 RabbitMQ的主要内容,如果未能解决你的问题,请参考以下文章

EnjoyingSoft之Mule ESB基础系列第三篇:Mule message structure - Mule message结构

如何将 EJB 连接到 Mule?

Mule ESB-3.Build a webservice proxy

Mule ESB-3.Build a webservice proxy

如何使用 Mule ESB、Mule Studio 读取 CSV 文件并将数据插入 PostgreSQL

Mule ESB HornetQ JMS 消息未传递