ошибку подключения файла
Чтобы обойти эту проблему. Пытались использовать аннотацию @Async Spring, чтобы контроллер немедленно возвращал ответ, пока файл продолжает загружаться в фоновом режиме. Убедился, что метод Async находится в собственном классе. И убедился, что в файл с аннотацией @Configuration добавлена аннотация @EnableAsync. При локальном запуске все выглядит нормально и работает асинхронно, как и должно быть. Но как только это будет предпринято на сервере Azure, кажется, что тег Async пропущен, и он снова запускается синхронно. Пытаюсь разобраться, в чем причина этого. Что-то связанное с его запуском в Службе приложений Azure
Это мой первый пост, поэтому извините, если что-то в моем вопросе не отформатировано в соответствии со стандартом Stack Overflow. Спасибо!
FileService.java
Код: Выделить всё
public FileDTO uploadFile(FileDTO fileDTO)
{
//Access blob container where files are stored
BlobContainerClient containerClient = new BlobContainerClientBuilder()
.connectionString(CONNECTION_STRING)
.containerName(fileDTO.getContainerName() + calendar.get(Calendar.YEAR)+"/"+ (calendar.get(Calendar.MONTH)+1)+"/" +calendar.get(Calendar.DATE))
.httpClient(httpClient).buildClient();
//Create blob client which contains file data
BlobClient blob = containerClient.getBlobClient(fileDTO.getFileName());
//Upload file
FileServiceAsyncImpl fileServiceAsync1 = new FileServiceAsyncImpl();
fileServiceAsync1.uploadAsync(blob, parallelUploadOptions, timeout);
}
Код: Выделить всё
@Async
public void uploadAsync(BlobClient blob, BlobParallelUploadOptions parallelUploadOptions, Duration timeout)
{
//Try to upload file using parallel upload options
Response response = blob.uploadWithResponse(parallelUploadOptions, timeout, null);
//blob.upload(fileData, true);
System.out.println("Upload Status: "+response.getStatusCode());
System.out.println(response.getValue().toString());
}
Код: Выделить всё
@Configuration
@EnableAsync
public class Config
{
//Some config...
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... ervice-ser