Что происходит, когда в аннотированной функции @async происходит несколько запросов? - PullRequest
0 голосов
/ 22 ноября 2018

, если запрос уже обрабатывается и в то же время в аннотированной функции @async произошел новый запрос, скажем:

  public String importData(ImportRequest requestBody)
    {



       File file = new File(path.toString() + "/" + 
       requestBody.getFileName() + ".xlsx");

       FileInputStream fis = new FileInputStream(file);


            XSSFWorkbook workbook = new XSSFWorkbook(fis);

            //Iterate through each rows one by one
            Iterator<Row> rowIterator = sheet.iterator();

            while (rowIterator.hasNext()) {
                 saveDataFromFileToDb();

                 }

    }

, если файл имеет 1000 строк и все еще обрабатывается в фоновом режиме, и внезапнозатем приходит еще один запрос.

1 Ответ

0 голосов
/ 22 ноября 2018

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

Вы говорите о аннотации Spring @ Async , верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...