HTTP コントローラー (Spring) がリクエストを取得し、ブロッキング呼び出しを行います。ブロッキング コールが終了すると、コントロールはコントローラに戻ります。
この時点で、クライアントに応答を返すのではなく、別のイベント (処理の完了など) が発生するのを待ちます。そのイベントが発生したらすぐに、イベントからデータを収集し、このデータを含む HTTP 応答を返す方法が必要です。
HTTPController doSomething( HTTPRequest )
{
makeBlockingCall();
waitForEventToHappen();
collectDataFromEvent();
return HTTPResponse();
}