Получение данных обратно из вызова функции @AsyncJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получение данных обратно из вызова функции @Async

Сообщение Anonymous »

Привет, я новичок в многопоточности в Java. Может кто-нибудь помочь мне с этим:

Мой сервис:

Код: Выделить всё

@Async
public List doSomething(int a){
//Do something
return list;
}
Приложение Springboot:

Код: Выделить всё

@SpringBootApplication
@EnableAsync
public class Test {

public static void main(String[] args) {
SpringApplication.run(Test.class, args);
}

}
Асинхронная конфигурация:

Код: Выделить всё

@Configuration
@EnableAsync
public class AsyncConfig {

@Bean(name ="taskExecutor")
public Executor taskExecutor(){
ThreadPoolTaskExecutor executor=new ThreadPoolTaskExecutor();
executor.setCorePoolSize(2);
executor.setMaxPoolSize(2);
executor.setQueueCapacity(100);
executor.setThreadNamePrefix("userThread-");
executor.initialize();
return executor;
}
}
Контроллер:

Код: Выделить всё

@RestController
public class Controller{

@Autowired
private Service service;

@GetMapping("test")
public List getAll(){
return service.doSomething(1);
}
}
Когда я нажимаю на этот запрос на получение от почтальона, в ответе он отображается пустым. Я понимаю, что мой вызов выполняется асинхронно и ответ возвращается еще до вызова моего метода. Есть ли способ увидеть этот ответ, изменив некоторые настройки в моем почтовом приложении или приложении весенней загрузки

Подробнее здесь: https://stackoverflow.com/questions/718 ... ction-call
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»