Spring integration Spring集成-AMQOutboundEndpoint和RabbitTemplate之间的差异

Spring integration Spring集成-AMQOutboundEndpoint和RabbitTemplate之间的差异,spring-integration,spring-amqp,Spring Integration,Spring Amqp,我正在尝试使用AmqpOutboundEndpoint实例,通过spring集成编写我的第一个AMQP发布程序 我不明白RabbitTemplate和AmqOutboundEndpoint之间的区别是什么,因为AmqOutboundEndpoint正在使用RabbitTemplate的实例 我想使用AMQP网关来分离我的应用程序的两个不同组件(业务组件和集成组件) 当我需要根据发布的消息类型切换路由密钥时,使用AqmpOutboundEndPoint发布消息是否有效?我在internet上找到的

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

  • 我不明白RabbitTemplate和AmqOutboundEndpoint之间的区别是什么,因为AmqOutboundEndpoint正在使用RabbitTemplate的实例

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

  • 谢谢

    欢迎来到

    首先,您是对的,
    AmqpOutboundEndpoint
    实际上完全基于
    rabbitmplate
    ,因为它是通过AMQP发送消息的一个很好的实现

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

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

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


    请参阅相关文档:

    构建网关并直接记录RabbitTemplate是否有优势?更多的灵活性还是别的?正如您所说,生产者和消费者是我的系统,这是一个内部集成。如果您不构建Spring集成应用程序,我看不出有理由用额外的代码打断您的想法。Direct
    RabbitTemplate
    使用和通过网关的使用确实适用于不同的任务和解决方案。如果您觉得在项目中不需要Spring集成,那么不要浪费时间去理解它们的区别和优势