在我的spring boot项目中,我具有以下GET Web服务
@GetMapping("/testThread")
@Transactional
public Map<String, Object> testThread(HttpServletRequest request) throws InterruptedException {
for (int i=0;i<10;i++){
Thread.sleep(3000);
System.out.println(i);
}
return null;
}
我正在从邮递员那里调用此Web服务,并且该Web服务线程正在启动,线程正在运行10次。
我的要求是10秒钟后从邮递员调用Web服务后,我可以通过“取消请求”按钮取消该请求,然后后端线程也应该停止。
截至目前已运行10次。
我们是否可以选择在两者之间停止执行此循环?
答案 0 :(得分:-1)
一个简单的解决方案是从testThread方法获取线程的ID,也许可以使用方法:
Thread.currentThread().getId()
此后,您可以创建另一个Rest Controller,该控制器在输入中接受id线程并将其杀死。 但这不是一个安全的解决方案