0

プロデューサーから、RabbitMQ Exchange にメッセージを送信する必要があります。このメッセージには、特定の属性 (キュー名など) が含まれます。この属性に基づいて、このメッセージを送信するキューを動的に決定する必要があります。[Exchange からバインドするキュー、この特定のメッセージを送信するキュー]。

Spring 統合を使用して、RabbitMQ Exchange に到着するメッセージを傍受する方法はありますか?現在、次の Spring 統合構成ファイルがあります。

Exchange メッセージを取得し、メッセージを smsQueue、emailQueue などのキューにルーティングする Bean を作成する方法がわかりません。

提案と返信をありがとう。

http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit- 1.0.xsd

http://www.springframework.org/schema/integration         
http://www.springframework.org/schema/integration/spring-integration.xsd      
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/integration/amqp
http://www.springframework.org/schema/integration/amqp/spring-integration-amqp.xsd
">

<context:annotation-config></context:annotation-config>
<context:component-scan base-package="com.rabbit"></context:component-scan>

<rabbit:connection-factory id="connectionFactory"
    host="localhost" username="guest" password="guest" />   
<rabbit:admin connection-factory="connectionFactory" />
<rabbit:template id="exchnageTemplate"
    connection-factory="connectionFactory" exchange="COMMUNICATION-EXCHANGE" />

<rabbit:queue id="smsQueue" auto-delete="true" durable="false" />
<rabbit:queue id="emailQueue" auto-delete="true" durable="false" />
<rabbit:queue id="dvbQueue" auto-delete="true" durable="false" />
<rabbit:queue id="pbxQueue" auto-delete="true" durable="false" />
<rabbit:queue id="medsensorQueue" auto-delete="true"
    durable="false" />


<int:gateway id="gateway" service-interface="com.rabbit.mq.ProducerGatewayInterface"
    default-request-channel="producerChannel" />

<int:channel id="producerChannel" />
<int:channel id="errorChannel" />

<bean id="communicationInterface" class="com.rabbit.mq.CommunicationInterface" />

<amqp:outbound-channel-adapter channel="producerChannel"
    amqp-template="exchnageTemplate" exchange-name="COMMUNICATION-EXCHANGE">
    <int:service-activator input-channel="input"
        ref="communicationInterface" method="optimalRoutingOfMessage" />
</amqp:outbound-channel-adapter>

4

1 に答える 1