【发布时间】:2019-03-03 14:01:58
【问题描述】:
我正在使用 Spring Feign 客户端。 有没有办法获得发送请求后收到响应所需的时间? 我有很多请求被映射,并且想要一种干净的方式在测试中断言在特定时间内收到响应。
谢谢
【问题讨论】:
标签: java rest spring-cloud-feign feign
我正在使用 Spring Feign 客户端。 有没有办法获得发送请求后收到响应所需的时间? 我有很多请求被映射,并且想要一种干净的方式在测试中断言在特定时间内收到响应。
谢谢
【问题讨论】:
标签: java rest spring-cloud-feign feign
你可以使用 System.nanoTime():
long startTime = System.nanoTime();
// make your request
long elapsedTime = System.nanoTime()-startTime;
【讨论】:
您也可以使用通用方法来做到这一点。请在下面找到sn-p:
myMethod() {
Date startDate = new Date();
.... body
return timedReturn(LOGGER, new Object() {}.getClass().getEnclosingMethod().getName(), startDate.getTime(), response);
}
public class MY_Utilities {
public static <T> T timedReturn(final Logger LOGGER, String method, long start, T object) {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug(String.format("Execution of method %s took %05d ms", method, System.currentTimeMillis() - start));
}
return object;
}
}
【讨论】: