48.5.3. 处理丢弃连接

概述

可以添加回调来处理客户端连接丢失的情况。

ConnectionCallback 接口

要为丢弃的连接添加回调,您必须实施 javax.ws.rs.container.ConnectionCallback 接口,该接口定义如下:

// Java
package javax.ws.rs.container;

public interface ConnectionCallback {
    public void onDisconnect(AsyncResponse disconnected);
}

注册连接回调

在实施了连接回调后,必须通过调用其中一个寄存器方法,将其注册到 当前的 AsyncResponse 对象。例如,注册类型为 MyConnectionCallback 的连接回调:

asyncResponse.register(new MyConnectionCallback());

连接回调的典型场景

通常,实施连接回调的主要原因是释放与丢弃客户端连接关联的资源(您可以使用 AsyncResponse 实例作为密钥来识别需要释放的资源)。