我部署的服务器有时响应时间很长,而在本地主机上工作和开发时,所有调用都非常快。
由于资源加载时间过长的问题,这使我的应用程序在部署几次后进入意外行为。
我想在本地测试中模拟与真实服务器的不良连接,因此我想为每个请求响应添加一个随机延迟,我的第一个想法是在 servlet 中使用 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);
}
}
...
但是我已经读到不应在 servlet 中使用 Thread.sleep() ,但是这种劝阻的上下文及其解决方案与我的情况截然不同,我可以在这种情况下使用 thread.sleep() 吗?
编辑:这当然只适用于本地和客户端在本地测试中有点紧张......我只是想模拟我在现实中遇到的坏网络!