Jersey 的@ManagedAsync 注释是什么?

what is Jersey's @ManagedAsync annotation?

谁能解释一下@ManagedAsync注解的意思?它有什么作用?

来自文档 (https://jersey.java.net/apidocs/2.21/jersey/org/glassfish/jersey/server/ManagedAsync.html):

Indicates that the resource method to which the annotation has been applied should be executed on a separate thread managed by an internal Jersey executor service.

资源不是在单独的线程上执行的吗?我很困惑。

@ManagedAsync 用于使球衣资源异步。这意味着完整的资源执行是在另一个线程中完成的,而不是在接收请求的主线程中完成的。

有两种方法可以制作异步球衣资源 -

1) 在 AsyncResponse 上使用 @Suspended asyncResponse - 但在这种情况下,您必须在代码中创建自己的线程并在该线程中执行昂贵的任务。

2) 使用@ManagedAsync - 在这种情况下,无需手动创建新线程,jersey 创建线程并在该线程中执行资源方法。

可以在 Async Rest

找到更多信息