После того, как я отправляю один запрос в конкретную службу, она возвращает OK и ставится в очередь. моя просьба. У меня есть служба обратного вызова, которая используется для уведомления об окончании.
Проблема в том, что весь процесс может занять много времени без какого-либо уведомления, и после этого мне нужно рассмотреть возможность timeout.
Приложение представляет собой SpringBoot APP, и я подумывал использовать аннотации @EnableAsync и @Async для метода службы со временем сна.
Код: Выделить всё
@Configuration
@EnableAsync
public class AsyncConfiguration implements AsyncConfigurer {
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(2);
executor.setMaxPoolSize(10);
executor.setQueueCapacity(500);
executor.setThreadNamePrefix("TIMCLL-");
executor.initialize();
return executor;
}
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
// TODO Auto-generated method stub
return null;
}
}
.
.
Код: Выделить всё
@Async
public void verifyStatusTimPayment() throws InterruptedException {
Thread.sleep(5000);
logger.info( "Executed after 5s " + new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").format(new Date()));
}
Как это сделать без make Thread.sleep?
Подробнее здесь: https://stackoverflow.com/questions/409 ... nd-delayed
Мобильная версия