我想向客户端发送响应,然后在Spring Boot中进行长时间运行的清理。有人建议我使用以下模式来解决问题:
@GetMapping
public ResponseEntity<Object> get() {
return ResponseEntity.ok(new Object());
}
@Bean
public MappedInterceptor irrelevantSleepingInterceptor() {
String[] paths = new String[0];
return new MappedInterceptor(paths, new HandlerInterceptor() {
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
除了我的客户仍然等待10秒钟来接收响应的事实外,该代码效果很好。
有人可以建议我在这里做错什么吗?