gpt4 book ai didi

java - spring mvc中是否有类似AsyncContext的?(如何在另一个线程中编写http响应)

转载 作者:搜寻专家 更新时间:2023-10-31 20:17:30 26 4
gpt4 key购买 nike

我在谷歌上搜索了关于 servlet 3.0/3.1 规范的 spring 支持以及我在这篇文章中找到的大部分信息: Understanding Callable and Spring DeferredResult

这里作者说你可以从 Controller 返回CallableDefferedResult 并说它是spring 维护的servlet 3.0/3.1。

但我不明白如何在我的情况下应用它:

我有外部系统,我从该系统异步获取结果。

在 Controller 中我写了这样的东西:

externalSystenm.send(requestId, message);

我还有另一个线程可以得到结果:

Message m = externalSystem.get();
m.getRequestId();// According this id I can map message to request

我知道在 servlet API 中我允许在 map 中保存 asyncContext 然后找到它。

我怎样才能在 Spring 实现它?

最佳答案

我找到了以下文章: Spring MVC 3.2 Preview: Introducing Servlet 3, Async Support

例子:

@RequestMapping("/quotes")
@ResponseBody
public DeferredResult<String> quotes() {
DeferredResult<String> deferredResult = new DeferredResult<String>();
// Add deferredResult to a Queue or a Map...
return deferredResult;
}


// In some other thread... <-- important phrase
deferredResult.setResult(data);
// Remove deferredResult from the Queue or Map

关于java - spring mvc中是否有类似AsyncContext的?(如何在另一个线程中编写http响应),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43253195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com