如何使类成员不在线程之间共享(2个浏览器会话)

时间:2018-07-10 15:41:25

标签: java spring-boot session thread-safety class-members

我正在实现一个Web应用程序。 我发送了1个Ajax请求来调用1000多个api请求,并在完成后将结果保存到类成员中。

同时,我发送了另一个异步请求以轮询请求是否完成,然后将结果返回给浏览器。

问题是,当有两个用户同时发送请求时,两个浏览器之间共享类成员。

问题是如何使类成员不在例如两个标签之间共享chrome浏览器。

注意:我正在使用springboot java来实现。

Sample code
@RestController
public class RestController{
private CompletableFuture< CopyOnWriteArrayList< Object > > results; 
@Autowired
private RestService restService;

@PostMapping( "/sendRequest" )
private void sendRequests(....){
  results = restService.sendRequests(..); // save result to class member
}

@GetMapping("/pollResult")
private JsonResponse pollResult(..){
  //check if result is not null (async request)

return response;
}


}

a.html

ajax
{
url // send api request

}


another Ajax call to poll result every 5 seconds

0 个答案:

没有答案