Java Servlet エンドポイントを呼び出して情報をダウンロードするクライアント アプリがあります。サーブレット自体は、さまざまなバックエンド システムから情報を収集し、それを正しい形式に組み立ててから、クライアントに応答する必要があります。これには時間がかかるため、ユーザーがサーバーからの応答を待つ必要がない方法で実装したいと考えています。私は次のアプローチを実装することを考えていました:
- クライアントがサーブレットを呼び出す
- サーブレットは一意のキーを生成し、キーをクライアントに渡し、しばらくしてからキーを使用してポーリングするようにクライアントに要求します
- その間、サーブレットは計算を実行し、キーに対して情報をキャッシュに保存します
- クライアントはキーを使用して定期的にサーブレットをポーリングし、データが利用可能かどうかを確認し、利用可能な場合はデータを取得します
クライアントとサーバーの間でこの種のオーケストレーションを行うためのより良い方法はありますか?