在Spring Boot中我有一个Async调用,我必须等待我的下一个线程等到CRUD操作

时间:2018-03-01 02:32:37

标签: java spring spring-boot executorservice

在我的项目中..我有一个方法createUserRespone(),用于将响应发送给用户,并且在进行异步调用之前执行某些数据库操作,并在createUserRespone()方法中获取来自DB的值以及在获取数据时我想检查这些值是否在DB中转储

示例:

// here importScore is AN Async method
irResponse = scoreManager.importScore(fileUpload, loggedInUser);

CreateUserResponse response= this.createUserRespone( a, b);


private CreateUserResponse  createUserRespone(String a, Object b){

    // here I am fetching those values which are inserted from Async method call

}

我的问题

  1. 如何验证值是否通过Async方法插入到数据库中 用我的createUserRespone()方法打电话。

  2. 我们如何使用Executor Framework或其他任何方法实现它 另类也会欣赏??

  3. 请不要说它是同步电话

1 个答案:

答案 0 :(得分:1)

您需要一些可以等待的句柄。第一种方法必须返回Future,或者它必须返回用于执行任务的Thread。 (等待使用Future.getThread.join)。

如果第一个方法无法返回任何句柄,则必须在数据库中进行一些轮询并等待循环,直到发生预期的数据更改。