【问题标题】:Spring integration - Difference between AmqpOutboundEndpoint and RabbitTemplateSpring 集成 - AmqpOutboundEndpoint 和 RabbitTemplate 之间的区别
【发布时间】:2017-07-22 15:36:55
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: spring-integration spring-amqp


    【解决方案1】:

    嗯,欢迎来到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

    【讨论】:

    • 建立网关并直接记下 RabbitTemplate 有好处吗?更灵活还是别的什么?正如你所说,生产者和消费者是我的系统,这是一个内部集成。
    • 如果您不构建 Spring Integration 应用程序,我认为没有理由用额外的代码打破您的想法。直接RabbitTemplate 使用和通过网关确实适用于不同的任务和解决方案。如果你觉得你的项目中不需要 Spring Integration,不要浪费时间去了解其中的区别和优势
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    相关资源
    最近更新 更多