Java任务完成后结算_后台任务然后在Java任务完成之前结束连接(8)

我花了很多时间来研究这个问题,并且有很多方法可以在Java中使用(我特别关注Java 8解决方案,应该注意).

好的,所以这是我的(通用)情况 – 请注意这是一个例子,所以不要花时间在它的工作方式/它在做什么:

>有人通过API调用请求某些内容

> API从数据存储中检索一些数据

>但是,我想在某些缓存系统中缓存此聚合响应

>我需要调用缓存API(通过REST)来缓存此响应

>在将响应返回到原始API调用之前,我不想等到此调用完成

一些模糊的代码结构:

@GET

@ // api definitions

public Response myAPIMethod(){

// get data from datastore

Object o = getData();

// submit request to cache data, without blocking

saveDataToCache();

// return the response to the Client

return Response.ok(data).build();

}

什么是在后台运行saveDataToCache而不必在返回数据之前等待的“最佳”(最佳,最安全,标准)方式?请注意,此缓存不应经常发生(可能每秒几次).

我尝试了几种方法,特别是使用CompletableFutures但是当我输入一些日志时,它似乎总是在返回响应之前等待(我没有调用get).

基本上,客户端的连接可能会在缓存调用完成之前关闭 – 但我希望它已经完成了:)我不确定规则是否与客户端连接的生命周期内的规则相同.

提前感谢任何建议,如果有任何不清楚的地方,请告诉我……我试图以一种可以理解的方式来定义它,而不知道我正在尝试做什么的领域知识(我无法透露).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值