首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从RabbitMQ队列中分配企业服务总线多线程使用者

从RabbitMQ队列中分配企业服务总线多线程使用者
EN

Stack Overflow用户
提问于 2018-11-02 01:23:36
回答 1查看 167关注 0票数 0

在我的MuleESB应用配置中,我有一个RabbitMQ队列,我希望使用多线程来使用消息,而顺序并不重要。

我有以下配置:

代码语言:javascript
复制
<amqp:connector name="RabbitMQMultiThread"  validateConnections="true" host="${rabbitmq_host}" port="${rabbitmq_port}" fallbackAddresses="${rabbitmq_fallback_addresses}" virtualHost="${rabbitmq_virtual_host}" username="${rabbitmq_username}" password="${rabbitmq_password}" ackMode="AMQP_AUTO" doc:name="AMQP Connector">
       <reconnect-forever frequency="30000"/>           
    </amqp:connector>

我想在我的流程中使用AMQP连接器配置,如下所示:

代码语言:javascript
复制
<flow name="mule-flow">
 <amqp:inbound-endpoint connector-ref="RabbitMQMultiThread" responseTimeout="10000" exchange-pattern="request-response" doc:name="AMQP-0-9" queueName="myqueue"/>
        <logger message="got message" level="INFO" category="mycategory" doc:name="Logger"/> 
  <component doc:name="myPojo">
        <spring-object bean="myPojo"/>
    </component>             
 </flow>

是否可以使用Mule中的多线程使用我拥有的流配置来消费来自RabbitMQ的消息?

EN

回答 1

Stack Overflow用户

发布于 2018-11-02 02:38:35

是的,Mule会自动执行此操作。参考:https://docs.mulesoft.com/mule-runtime/3.8/flow-processing-strategies#implicit-processing-strategies

我们必须保持消息的顺序,所以我们将流设置为synchronous,并将numChannels和prefetch设置为1。

代码语言:javascript
复制
<amqp:connector name="AMQP_Connector" validateConnections="true" host="${amqp.host}" port="${amqp.port}" username="${amqp.user}" password="${amqp.password}" numberOfChannels="1" prefetchCount="1" doc:name="AMQP-0-9 Connector" virtualHost="${amqp.virtualHost}">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53106283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档