デプロイしたサーバーの応答時間が長くなることがありますが、localhost で作業および開発を行っている間は、すべての呼び出しが非常に高速です。
これにより、リソースの読み込みに時間がかかりすぎるという問題が原因で、アプリケーションが数回デプロイされると、予期しない動作が発生しました。
ローカル テストで実サーバーとの接続不良をシミュレートしたいので、すべての要求と応答にランダムな遅延を追加したいと思います。最初に考えたのは、サーブレットで Thread.sleep を使用することでした。
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//add delay before processing request
if (DELAY > 0){
int delay;
if (RANDOMIZE){
delay = Random.nextInt(DELAY);
} else {
delay = DELAY;
}
try {
Thread.sleep(delay);
} catch (InterruptedException e1) {
logger.error(e1);
}
}
...
ただし、サーブレット内で Thread.sleep() を使用すべきではないことを読みましたが、そのような落胆のコンテキストとその解決策は私の場合とは大幅に異なります。このコンテキストで thread.sleep() を使用できますか?
編集:これはもちろん、ローカルのみであり、クライアントがローカルテストで少し緊張するためです...実際に遭遇した悪いネットワークをシミュレートしたいだけです!