Spring集成 - AmqpOutboundEndpoint和RabbitTemplate之间的区别

时间:2017-07-22 15:36:56

标签: spring-integration spring-amqp

我正在尝试使用AmqpOutboundEndpoint实例通过spring集成编写我的第一个AMQP发布者。

  1. 我不明白RabbitTemplate和AmqpOutboundEndPoint之间的区别是什么,因为AmqpOutboundEndpoint正在使用RabbitTemplate的实例。

  2. 我想使用AMQP网关来分离我的应用程序的两个不同组件(业务组件和集成组件) 当我需要根据发布的消息类型切换路由密钥时,使用AqmpOutboundEndPoint发布消息是否有效?我在互联网上找到的所有示例都使用硬编码路由密钥进行AMQP网关。

  3. 由于

1 个答案:

答案 0 :(得分:0)

好的,欢迎来到Enterprise Integration Patterns

所以,首先你是对的,RabbitTemplate完全基于//This is object list var NewIssue = {}; //This is array var newIssueList = []; function myFunction() { for (var i = 0; i < 3; i++) { NewIssue.Id = i; NewIssue.Number = 233 + i; NewIssue.Name = "Test" + i.toString(); newIssueList.push(NewIssue); } } ,因为它是通过AMQP发送消息的一个很好的实现。

另一方面,端点是通道适配器,用于通过内部集成通道接收消息。

因此,您必须自己决定是否真的需要整个集成解决方案,或者只是从您自己的代码发送到AMQP就足够了。

该端点允许您使用SpEL在requestMessage运行时确定routingKey。

请参阅有关此事的文档:http://docs.spring.io/spring-integration/docs/4.3.11.RELEASE/reference/html/amqp.html#amqp-inbound-ack