有人请解释@ManagedAsync
注释的含义吗?它做了什么?
从文档(https://jersey.java.net/apidocs/2.21/jersey/org/glassfish/jersey/server/ManagedAsync.html):
表示注释所针对的资源方法 applied应该在由内部管理的单独线程上执行 泽西执行人服务。
不管资源是否在不同的线程上执行?我很困惑。
答案 0 :(得分:12)
@ManagedAsync用于使泽西资源异步。这意味着完整的资源执行是在另一个线程中完成的,而不是在收到请求的主线程中完成的。
有两种制作异步球衣资源的方法 -
1)在AsyncResponse上使用@Suspended asyncResponse - 但在这种情况下,您必须在代码中创建自己的线程并在该线程中执行昂贵的任务。
2)使用@ManagedAsync - 在这种情况下,不需要手动创建新线程,jersey在该线程中创建线程并执行资源方法。
找到更多信息