Как вернуть ответ, но продолжить выполнение al oop при весенней загрузке? - PullRequest
1 голос
/ 06 марта 2020

Поэтому, когда я посещаю enpoint (запрос POST), я сначала проверяю, существует ли запись в моей базе данных. Если да, я хочу вернуть его пользователю (для целей отслеживания) и продолжить операцию. Но я хотел бы вернуть идентификатор пользователю и продолжить этот процесс. Как этого добиться ??

@RestController
public class StudentController {
    @Autowired
    private StudentService service;

    @PostMapping("/storeInDB")
    @ResponseBody
    public File_Tracking saveStudentDetails(@RequestBody Student student ) throws IOException {

        List<Students> student = new ArrayList<>();


        int continue = 0;
        int id = 0;


            id = service.getId(); // I want to return this and continue some other process which follows

Ответы [ 2 ]

3 голосов
/ 06 марта 2020

Вы можете запустить процесс асинхронно в другом потоке, в то время как ваш основной поток возвращает идентификатор в качестве ответа службы.

Проверьте этот блог о том, как определить операции Asyn c с помощью пружины @ Asyn c аннотация https://www.baeldung.com/spring-async

1 голос
/ 08 марта 2020

В дополнение к ответу Сандипа Лакдавалы, так как эти две операции должны следовать друг за другом ( id должен быть сначала возвращен пользователю, затем операция должна продолжаться ie), вам следует рассмотреть возможность планирования своих различных потоки. Как правило, компьютеры произвольно отдают время часам.

Например, если у нас есть поток t1 и поток t2, и эти t1 выводят «hey» на консоль, а t2 выводит «wow!» на консоли, когда вы запускаете вашу программу, вы можете увидеть одно из следующих в вашей консоли:

эй, эй, эй, вау! вау!

или

вау! эй, эй, вау! вау!

Поэтому, чтобы достичь своей цели, вам нужно поискать синхронизация потоков . Также вы можете посетить сайт "https://www.baeldung.com/java-thread-safety", чтобы узнать о синхронизации потоков в Java.

Кроме того, перед выполнением этой задачи я бы посоветовал вам прочитать о потоках и процессах, поскольку они являются очень важными темами информатики. « В чем разница между процессом и потоком? » будет хорошей отправной точкой.

...