48.5.4. コールバックの登録
概要
オプションで、呼び出しが完了したときに通知されるように、AsyncResponse
インスタンスにコールバックを追加できます。このコールバックの呼び出しが可能な場合の処理には、代替えポイントが 2 つあります。
- 要求の処理が完了し、応答がすでにクライアントに送信された後。
-
リクエスト処理を終了して、マッピングされていない
Throwable
がホスト I/O コンテナーに伝播された後。
CompletionCallback インターフェイス
完了コールバックを追加するには、以下のように定義された javax.ws.rs.container.CompletionCallback
インターフェイスを実装する必要があります。
// Java package javax.ws.rs.container; public interface CompletionCallback { public void onComplete(Throwable throwable); }
通常、throwable
引数は null
です。ただし、リクエスト処理によってマッピングされていない例外が発生した場合は、throwable
にはマッピングされていない例外インスタンスが含まれます。
完了コールバックの登録
完了コールバックを実装したら、register
メソッドの 1 つを呼び出して、現在の AsyncResponse
オブジェクトに登録する必要があります。たとえば、型 MyCompletionCallback
の完了コールバックを登録するには、次のコマンドを実行します。
asyncResponse.register(new MyCompletionCallback());