Spring 集成 pubsub 与 Spring amqp RabbitMQ pubsub
Spring integration pubsub vs Spring amqp RabbitMQ pubsub
我正在开发微博spring mvc hibernate 应用程序。我需要实现像推特这样的发布订阅功能。
我正在使用 RabbitMQ 通过 Spring AMQP 抽象进行消息传递。
我在网上看到的每个地方都给出了 pubsub examples 涉及
Spring Integration
Spring AMQP & RabbitMQ
我对 Spring-Integration 进行了更多研究,发现即使不使用 RabbitMQ 也可以使用它实现发布订阅。
现在我的问题是
为什么我需要使用 Spring 与 [Spring AMQP & RabbitMQ] 的集成来实现 pubsub 功能。为什么我不能只使用 Spring AMQP 和 Rabbit 来做到这一点?
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
}
Spring 集成实现了 http://www.enterpriseintegrationpatterns.com/books1.html 中的模式,同时使用 AMQP/RabbitMQ 作为其众多传输之一。
我了解 spring-amqp
更多的是 AMQP 客户端功能。如果你不想使用 spring。然后我们有一个普通的 java 客户端:https://www.rabbitmq.com/java-client.html
我正在开发微博spring mvc hibernate 应用程序。我需要实现像推特这样的发布订阅功能。
我正在使用 RabbitMQ 通过 Spring AMQP 抽象进行消息传递。
我在网上看到的每个地方都给出了 pubsub examples 涉及
Spring Integration
Spring AMQP & RabbitMQ
我对 Spring-Integration 进行了更多研究,发现即使不使用 RabbitMQ 也可以使用它实现发布订阅。
现在我的问题是
为什么我需要使用 Spring 与 [Spring AMQP & RabbitMQ] 的集成来实现 pubsub 功能。为什么我不能只使用 Spring AMQP 和 Rabbit 来做到这一点?
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
}
Spring 集成实现了 http://www.enterpriseintegrationpatterns.com/books1.html 中的模式,同时使用 AMQP/RabbitMQ 作为其众多传输之一。
我了解 spring-amqp
更多的是 AMQP 客户端功能。如果你不想使用 spring。然后我们有一个普通的 java 客户端:https://www.rabbitmq.com/java-client.html