【问题标题】:How to send delay Response in efficient way to client如何以有效的方式向客户端发送延迟响应
【发布时间】:2018-12-19 22:03:50
【问题描述】:

我需要模拟一些服务调用,但我需要等待一段时间后发送响应。

我知道我可以通过使用Thread.sleep(n) 来做到这一点,但我不愿意让整个线程休眠一段时间。

所以我看看 RestTemplate 是否有像 setResponseTime() 这样的方法来设置响应延迟时间。或者我可以通过使用任何其他外部依赖项来实现这一点吗?

【问题讨论】:

    标签: java resttemplate


    【解决方案1】:

    你可以使用TimeUnit比如

    - TimeUnit.NANOSECONDS.sleep(timeout);
    - TimeUnit.SECONDS.sleep()
    - TimeUnit.MINUTES.sleep()
    - ....
    

    或者你可以探索接口ScheduledExecutorService,他们有一个方法名scheduleWithFixedDelay。

    谢谢,

    【讨论】:

    • 所以有什么不清楚的不是吗?还是您还有问题?
    • 我的意思是我正在寻找像setResponseWaitTime(long ms) 这样的方法,以便我可以配置,但是这个 TimeUnit 会在内部调用 Thread.sleep() 对吗?那么使用 Thread.sleep() 和 TimeUnit 类 sleep() 有什么区别呢?
    • 如果你愿意,你可以创建你的 wrap 方法并隐藏其中的逻辑。是的,对于您的问题,TimeUnit 只是一个具有更多特性和功能的实用程序
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2012-04-20
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    相关资源
    最近更新 更多