在Mule上听队列,处理信息和senf

时间:2015-05-04 08:23:15

标签: spring mule message-queue

我构建spring应用程序并发送给RabbitMQ。 现在我想在Mule ESB中构建项目,该项目监听队列并处理信息,如果有变量a(例如) - >处理流程等..., - >将响应转换为JSON - >发送回RabbitMQ。 -

1)它需要是RabbitMQ还是其他可能的? 2)如何做到这一点 - 听取特定的队列并进行处理? 3)之后,如何发回?

我看到了一些例子,但没有完全理解这个话题。

'*                     < / AMQP:队列轮廓> - >

 <flow name="amqpChoiceAckNackService">
  <amqp:inbound-endpoint queueName="my-queue"
                         connector-ref="amqpManualAckLocalhostConnector" />

    <http:inbound-endpoint exchange-pattern="one-way" host="localhost" port="8080" path="message" doc:name="HTTP"/>
    <set-payload value="#[message.inboundProperties['msg']]" doc:name="Set Payload"/>        
        <processor-chain doc:name="Processor Chain">
            <amqp:outbound-endpoint queueName="test.queue1" responseTimeout="10000" doc:name="AMQP1" connector-ref="AMQP_Connector1"/>
            <custom-processor class="CustomProcessor" doc:name="Custom Processor"/>
       </processor-chain>       
</flow>*`

谁能帮帮我? 感谢。

1 个答案:

答案 0 :(得分:0)

要在mule中侦听队列,你需要进行以下配置,(我对amqp不熟悉,但这种方式也有效)

<spring:bean id="rabbitMQconnectionFactory" class="RabbitMQconnectionFactoryClass"> 
    <!--..whatever properties are required by this class (hint :- search how to make a rabbitMQ connection factory bean) -->
</spring:bean>
<jms:connector name="rabbitMQconnector" connectionFactory-ref="rabbitMQconnectionFactory" username="" password="" doc:name="JMS"/>
<flow name="flow1" doc:name="Flow1">
    <jms:inbound-endpoint doc:name="JMS" connector-ref="rabbitMQconnector" queue="queueNameToListen"/>
</flow>

验证代码是否有效,在要侦听的队列上放置一条消息并运行mule应用程序,如果该消息被正确使用,您将看到该消息为dequed且没有待处理消息。

希望这有帮助!

祝你好运!