2017-07-22 65 views
0

我想通過使用AmqpOutboundEndpoint實例的彈簧集成編寫我的第一個AMQP發佈者。彈簧集成 - AmqpOutboundEndpoint和RabbitTemplate之間的區別

  1. 我不明白的是什麼,因爲AmqpOutboundEndpoint使用RabbitTemplate的實例RabbitTemplate和AmqpOutboundEndPoint之間的差異。

  2. 我想用一個AMQP網關分離我的應用程序(業務組件和集成組件)的2個不同部件 是否有效使用的AqmpOutboundEndPoint發佈的消息時,我需要切換根據路由關鍵發佈的消息類型?我在互聯網上找到的所有例子都使用AMQP網關的硬編碼路由密鑰。

感謝

回答

0

好,歡迎Enterprise Integration Patterns

所以,首先你是對的,AmqpOutboundEndpoint真的是完全基於RabbitTemplate,因爲它是一個很好的實施了AMQP發送消息。

另一方面,端點是通過內部集成通道接收消息的通道適配器。

因此,您必須自己決定是否真的需要整個集成解決方案,或者只需從自己的代碼發送到AMQP就足夠了。

該端點允許您在運行時使用SpEL確定使用requestMessage的routingKey。對此事

查看文檔:http://docs.spring.io/spring-integration/docs/4.3.11.RELEASE/reference/html/amqp.html#amqp-inbound-ack

+0

有沒有建立一個網關,並直接注意RabbitTemplate優勢?更靈活還是別的什麼?正如你所說,生產者和消費者是我的系統,這是一個內部整合。 – Yoni

+0

如果您不構建Spring集成應用程序,我看不到有額外代碼打破您的想法的理由。通過網關直接使用'RabbitTemplate'實際上是針對不同的任務和解決方案。如果您覺得您的項目中不需要Spring集成,請不要浪費時間來了解差異和優勢 –