延迟使用消息队列

时间:2018-06-22 13:41:40

标签: jms batch-processing spring-jms jms-queue

对不起,对于JMS专家来说,这听起来很幼稚,但仍然如此。

我有一个要求,即基于Spring的应用程序不能(通过其Web服务接口)同步连接到SAP后端,因为来自SAP的响应太慢了。我们正在考虑一种解决方案,其中,Spring中间件将来自GUI的更新保存在本地数据库中,同时将消息发送到JMS队列。我们希望每隔几个小时(或可能是每晚)在(例如)每隔几个小时运行一次批处理作业以消耗来自JMS队列的消息,并根据消息内容在本地数据库上查询并将结果发送到SAP Web-服务。

这种方法正确吗?我是否需要批处理来触发JMS消息使用(因为我不想立即使用消息,而是以预定的时间延迟使用消息)? Spring中有什么办法可以优雅地实现这一目标(例如Camel)?感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Spring Batch有一个JmsItemReader,可以在批处理程序中使用;空队列表示批处理已结束。 Spring Cloud Task建立在批处理之上,可用于云部署。