2016-04-11 3 views
0

以下は私の設定です。キューへの正常なポスティングの場合、フローはconfirm-ack-channelに渡されません。誰でもどこが間違っているのかを提案できますか?confirm-ack-channelが呼び出されていません

<int-amqp:outbound-channel-adapter channel="fulfillmentOutboundChannel" 
            routing-key="xyz" 
            amqp-template="transactionalRabbitTemplate" 
            confirm-correlation-expression="payload" 
            confirm-ack-channel="successRespTransformChannel" 
            confirm-nack-channel="failureRespTransformChannel" 
            return-channel="failureRespTransformChannel" 
            mapped-request-headers="*" 


     /> 


<int:channel id="successRespTransformChannel"> 

    <int:interceptors><int:wire-tap channel="loggerChannel"/></int:interceptors> 
</int:channel> 

<chain input-channel="successRespTransformChannel"> 
    <int:header-enricher> 
    <error-channel ref="failed-publishing" /> 
    </int:header-enricher> 
    <service-activator id="successResp" expression="@abc.addRequestTracking(payload.id,'success')"/> 

</chain> 

答えて

0

のACK/NACKを取得するためには、confirm-correlationとアダプタの設定に加えて、あなたはまた、CachingConnectionFactorypublisherConfirmsを有効にする必要があります。 the documentationから

パブリッシャーの確認(別名出版社謝辞)については

、テンプレートがtrueに設定されたpublisherConfirmsプロパティを持つCachingConnectionFactoryが必要です。

+0

私はすでに以下のようにpublisg-confirms = trueを作成しています。依然としてackが呼び出されていない – user3668349

+0

down vote 受け入れる あなたの応答に感謝します。接続ファクトリーID = "fufillConnectionFactory" 接続ファクトリー= "rabbitClientConnectionFactory" 出版社-確認= "true" を 出版社・リターン=「真:私はすでにウサギ< ...以下のように真=-確認を公開してきました"/ – user3668349

+0

まだ動作しません。私のサービスActivatorが呼び出されていません。 – user3668349

0

Gary。

<rabbit:connection-factory id="fufillConnectionFactory" 

connection-factory="rabbitClientConnectionFactory" 
           publisher-confirms="true" 
           publisher-returns="true"/> 


    <bean id="rabbitClientConnectionFactory" class="com.rabbitmq.client.ConnectionFactory" > 
     <property name="uri" value="${mq.uri}" /> 
     <property name="requestedHeartbeat" value="30" /> 
    </bean> 
+0

これに対して新しい回答は使用しないでください。代わりに質問を編集してください。 –

関連する問題