48.5.4. 注册回调
概述
您可以选择将回调添加到 AsyncResponse
实例,以便在调用完成时获得通知。当可以调用此回调时,处理中有两个替代点,分别是:
- 请求处理完成后,响应已被发送回客户端,或者
-
请求处理完成后,向托管 I/O 容器传播一个未映射的
Throwable
。
CompletionCallback 接口
要添加完成回调,您必须实施 javax.ws.rs.container.CompletionCallback
接口,其定义如下:
// Java package javax.ws.rs.container; public interface CompletionCallback { public void onComplete(Throwable throwable); }
通常,可迭代
的参数为 null
。但是,如果请求处理导致了未映射异常,则可 抛出
包含未映射异常实例。
注册完成回调
在实施完回调后,您必须调用其中一个 寄存器
方法将它注册到当前的 AsyncResponse
对象。例如,若要注册类型为 MyCompletionCallback
的完成回调:
asyncResponse.register(new MyCompletionCallback());