Spring Integration:QueueChannel保证没有数据丢失?

时间:2014-10-15 04:39:35

标签: spring spring-integration

我希望我的系统能够保证即使系统正在关闭也不会丢失数据。 这意味着系统不能错过请求消息。所以,我会改变接受http reqeust的方式。现在,我在spring集成中使用http gateway / webservice网关。但是,即使系统死亡,也不会收到消息。所以,我想在http客户端和http接收器之间添加队列。所以,我想使用队列通道。这是问题所在。

①我必须安装其他队列程序,如activemq或rabbitmq,并且必须在spring集成中连接到队列通道?

②哪一个是弹簧整合的最佳组合?我听说兔子mq是最好的。

请给我一个详细的解释。感谢。

1 个答案:

答案 0 :(得分:3)

首先,你的描述并不清楚......

如果您不想丢失来自QueueChannel的消息,请使用某些持久性MessageStore,例如JdbcChannelMessageStorehttp://docs.spring.io/spring-integration/docs/latest-ga/reference/html/system-management-chapter.html#message-store

从另一方面来看,AMQP和JMS都有channel wrappers

http://docs.spring.io/spring-integration/docs/latest-ga/reference/html/amqp.html#d4e5846

http://docs.spring.io/spring-integration/docs/latest-ga/reference/html/jms.html#jms-channel

这确实为您的用例提供了相同的持久性持久性,容错选项。

重新。 activemq VS rabbitmq。我可以说,通过我自己的expiriance,最后一个更好,通过配置,使用Spring Integration(Spring AMQP在shell下)。它的表现确实更好。

您可以在互联网上找到所有其他信息。