【发布时间】:2018-12-19 22:03:50
【问题描述】:
我需要模拟一些服务调用,但我需要等待一段时间后发送响应。
我知道我可以通过使用Thread.sleep(n) 来做到这一点,但我不愿意让整个线程休眠一段时间。
所以我看看 RestTemplate 是否有像 setResponseTime() 这样的方法来设置响应延迟时间。或者我可以通过使用任何其他外部依赖项来实现这一点吗?
【问题讨论】:
标签: java resttemplate
我需要模拟一些服务调用,但我需要等待一段时间后发送响应。
我知道我可以通过使用Thread.sleep(n) 来做到这一点,但我不愿意让整个线程休眠一段时间。
所以我看看 RestTemplate 是否有像 setResponseTime() 这样的方法来设置响应延迟时间。或者我可以通过使用任何其他外部依赖项来实现这一点吗?
【问题讨论】:
标签: java resttemplate
你可以使用TimeUnit比如
- TimeUnit.NANOSECONDS.sleep(timeout);
- TimeUnit.SECONDS.sleep()
- TimeUnit.MINUTES.sleep()
- ....
或者你可以探索接口ScheduledExecutorService,他们有一个方法名scheduleWithFixedDelay。
谢谢,
【讨论】:
setResponseWaitTime(long ms) 这样的方法,以便我可以配置,但是这个 TimeUnit 会在内部调用 Thread.sleep() 对吗?那么使用 Thread.sleep() 和 TimeUnit 类 sleep() 有什么区别呢?