Java Async方法--未来不能按预期工作。

问题描述 投票:0回答:1

我想创建一个异步完成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总是返回 无效 即使该值不是空的。

java spring asynchronous
1个回答
-1
投票

final 是一个关键字,所以我会首先尝试重命名那个参数变量。

© www.soinside.com 2019 - 2024. All rights reserved.