我想创建一个异步完成DB操作的Api。
App.java:
@SpringBootApplication
@EnableAsync
public class App {
public static void main(String[] args) {
SpringApplication.run(PhonenumberApplication.class, args);
}
}
Controller:
@PostMapping(/insert)
public Integer hello() {
return service.calcAndinsertDbrecords("Hello");
}
Service:
@Async
public Integer calcAndinsertDbrecords(String input) {
List<String> finalList = performOperation(input);
// Perform some java operation on input string
// As a result i get list of different string
insertRecords(finalList);
return finalList.size();
}
public Future<String> insertRecords(List<String> finalList){
// DB call to insert the list of strings in DB
// this method takes time to insert
repository.saveAll(finalList);
return null;
}
由于我已经知道了大小,我想异步执行db操作并返回大小,但是... ... /insert
api总是返回 无效 即使该值不是空的。
final
是一个关键字,所以我会首先尝试重命名那个参数变量。