【问题标题】:Spring integration pubsub vs Spring amqp RabbitMQ pubsubSpring 集成 pubsub 与 Spring amqp RabbitMQ pubsub
【发布时间】:2015-12-24 02:24:51
【问题描述】:

我正在开发一个 MicroBlog spring mvc hibernate 应用程序。我需要实现像 twitter 这样的发布订阅功能。

我正在使用 RabbitMQ 通过 Spring AMQP 抽象进行消息传递。

我在网上看到的所有pubsub examples 都涉及

春季集成

Spring AMQP 和 RabbitMQ

我对 Spring-Integration 进行了更多研究,发现即使不使用 RabbitMQ,也可以使用它实现发布订阅。

现在我的问题是

为什么我需要将 Spring Integration 与 [Spring AMQP & RabbitMQ] 一起使用来实现发布订阅功能。为什么我不能只使用带有 Rabbit 的 Spring AMQP 来做到这一点?

Spring 集成是否提供任何附加功能?

我的 Spring AMQP 和 RabbitMQ 配置

<rabbit:connection-factory id="connectionFactory" virtual-host="/" host="localhost" 
username="guest" password="guest"/>

<rabbit:admin connection-factory="connectionFactory" />

<rabbit:queue name="UserPostpublishQueue" />

<fanout-exchange name="broadcastUserPosts" xmlns="http://www.springframework.org/schema/rabbit">
    <bindings>
        <binding queue="UserPostpublishQueue"/>
    </bindings>
</fanout-exchange>

<rabbit:template id="amqpTemplate" connection-factory="connectionFactory" exchange="broadcastUserPosts" 
queue="UserPostpublishQueue"/>

</beans>

在我的控制器中测试代码

@Autowire
private AmqpTemplate amqpTemplate;

try{
        amqpTemplate.convertAndSend(post);
        Post receivedPost = (Post)amqpTemplate.receiveAndConvert();
        System.out.println("received Post "+receivedPost);
        }catch(AmqpException e){
            //deal with exception
        }

【问题讨论】:

  • 为什么不关注一些谷歌链接,也不阅读两者?...
  • 如果 Google 上有足够的内容,我一开始就不会提出这个问题。如果您不知道答案,为什么不停止对问题投反对票。

标签: java spring rabbitmq spring-integration spring-amqp


【解决方案1】:

Spring Integration 实现了来自 http://www.enterpriseintegrationpatterns.com/books1.html 的模式,同时使用 AMQP/RabbitMQ 作为其众多传输之一。

我了解spring-amqp 更多的是 AMQP 客户端功能。如果你不想使用弹簧。然后我们有一个普通的 java 客户端:https://www.rabbitmq.com/java-client.html

【讨论】:

    猜你喜欢
    • 2016-11-23
    • 2018-07-05
    • 2022-11-13
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 2019-09-21
    相关资源
    最近更新 更多