Spring Task Асинхронная и отложеннаяJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring Task Асинхронная и отложенная

Сообщение Anonymous »

Мне нужно сделать кое-что, но я не знаю, как лучше всего это сделать.
После того, как я отправляю один запрос в конкретную службу, она возвращает 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()));

}
Проверку необходимо выполнить через 15 минут после запроса и только один раз за запрос.
Как это сделать без make Thread.sleep?

Подробнее здесь: https://stackoverflow.com/questions/409 ... nd-delayed
Ответить

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

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

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

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

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