Spring REST 和 Future 任务

Posted

技术标签:

【中文标题】Spring REST 和 Future 任务【英文标题】:Spring REST and Future tasks 【发布时间】:2017-06-15 08:27:42 【问题描述】:

我有一个 REST 服务端点,将 List<Offer> 作为 json 返回。 该服务为每个Offer 调用不同的后端。我知道可以创建 Async Rest 服务。但是,我希望客户在任何Offer 可用时立即使用它,而不是每个Offer 都准备好。

我想到了两种情况:

    如果不是 REST 服务,使用 Future 任务将是正确的答案。我没有找到在 web 服务上下文中使用它的方法

    使用两个端点: a) 第一个将为每个 Offer 返回一些唯一的“guid”

    公开名单<String>getOfferIds();

    b) 如果准备好了,第二个会返回报价

    公开报价 getOffer(String guid);

第二种方法将删除我的休息服务的无状态上下文。 这是最好的方法还是有更好的方法?

【问题讨论】:

这可能对javacodegeeks.com/2013/03/…有帮助 这篇文章看起来很有趣,谢谢 【参考方案1】:

我认为,如果提供 OFFER 的应用程序将在可用时将 OFFER 推送到队列中,然后您的应用程序作为消费者可以收听该队列以继续进行,我认为您所指的行为将得到满足。

【讨论】:

以上是关于Spring REST 和 Future 任务的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 rest-api 执行 Spring Cloud 任务

CallableFuture和FutureTask使用说明

REST GET 在 Future Builder 中返回无效参数

Callable和Future

Future模式

Future 和 ExecutorCompletionService 对比和使用