[英]How can I create a Spring sleuth application without Spring boot
[英]How can I insert a delay on every request on a Spring Boot application?
我需要測試我的客戶端應用程序在服務器距離很遠並且連接不是很好時的行為方式。 客戶端是使用 Spring 的 RestTemplate 的 JavaFX 應用程序,服務器是 RESTful Spring Boot 應用程序。
如何在服務器收到的每個請求上人為地注入延遲?
您可以添加一個HandlerInterceptor
來覆蓋preHandle
和postHandle
方法。
preHandle
將在請求轉到 Controller之前被調用。
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
postHandle
將在完成控制器的方法之后被調用。
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception
您可以使用Thread.sleep()
延遲請求/響應的任何方法。
您必須擴展WebMvcConfigurerAdapter
,您可以在其中附加HandlerInterceptor
for servlet
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(MyHandlerInterceptor);
}
如果您真的想用代碼來做 。 您可以在配置中添加“ Before Advice”,然后通過poincut將其應用於應用程序中的任何Rest Controller,以查找@RestController批注。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.