gpt4 book ai didi

java - 从 API 返回响应并在 API 级别执行一些其他操作

转载 作者:行者123 更新时间:2023-12-02 02:34:21 24 4
gpt4 key购买 nike

我正在使用 jax-rs jersey 作为 Rest API。我需要 API 端点,它需要发送响应并在返回更新全局变量的响应后执行一些额外的操作。我怎样才能实现它?

我尝试使用 Executor 执行一个耗时任务,期望 API 会返回响应,然后执行此任务,但使用我的 API 的客户端似乎处于挂起状态。此外,我发现 AsyncResponse 使用 @Suspished 注释,但我的意图不是在初始响应后再次发送响应。更新后的内容只有在客户端再次请求时才会使用。

global_var = 0;
execute.execute(() -> {
for (int i = 0; i < 20; i++) {
try {
logger.error("In executor service "+i);
Thread.sleep(1000);
global_var +=i;
} catch (InterruptedException ex) {
logger.error("Exception while sleep " + ex.getMessage());
}
}
});
return Response.ok(global_var).build();

预计API最初将返回global_var为0,稍后当客户端再次发出请求时,它将发送更新后的global_var值。但即使在第一个请求时,API 也处于挂起状态

最佳答案

不要使用execute.execute(()

使用executor.submit()

根据实现的不同,执行可以在调用线程而不是后台线程上完成。

关于java - 从 API 返回响应并在 API 级别执行一些其他操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57213643/

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