48.5.4. 콜백 등록

48.5.4.1. 개요

호출이 완료되면 알림을 받기 위해 선택적으로 AsyncResponse 인스턴스에 콜백을 추가할 수 있습니다. 이 콜백을 호출할 수 있는 경우 처리에는 다음 두 가지 대체 지점이 있습니다.

  • 요청 처리가 완료되면 응답이 이미 클라이언트로 다시 전송되었거나,
  • 요청 처리가 완료되고 매핑되지 않은 Throwable 가 호스팅 I/O 컨테이너로 전파되었습니다.

48.5.4.2. CompletionCallback 인터페이스

완료 콜백을 추가하려면 다음과 같이 정의된 javax.ws.rs.container.CompletionCallback 인터페이스를 구현해야 합니다.

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

public interface CompletionCallback {
    public void onComplete(Throwable throwable);
}

일반적으로 throw 가능한 인수는 null 입니다. 그러나 요청 처리가 매핑되지 않은 예외가 발생한 경우 throw할 수 없는 예외 인스턴스가 throw됩니다.However, if the request processing resulted in an unmapped exception, throwable contains the unmapped exception instance.

48.5.4.3. 완료 콜백 등록

완료 콜백을 구현한 후 레지스터 방법 중 하나를 호출하여 현재 AsyncResponse 오브젝트에 등록해야 합니다. 예를 들어, type 완료 콜백을 등록하려면 MyCompletionCallback:

asyncResponse.register(new MyCompletionCallback());