什么是泽西岛的@ManagedAsync注释?

时间:2016-11-18 15:43:14

标签: java jersey-2.0

有人请解释@ManagedAsync注释的含义吗?它做了什么?

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

  

表示注释所针对的资源方法   applied应该在由内部管理的单独线程上执行   泽西执行人服务。

不管资源是否在不同的线程上执行?我很困惑。

1 个答案:

答案 0 :(得分:12)

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

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

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

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

可在Async Rest

找到更多信息