Что у меня есть:
Мой поток кода выглядит следующим образом:
(1) Создайте запрос (2) POST to URL (3) Записать результаты в выводкаталог
@Bean
public IntegrationFlow validateRequest() {
return IntegrationFlows.from("REQUEST_CHANNEL")
.channel(c -> c.executor(new SimpleAsyncTaskExecutor()))
.handle(requestModifier, "constructRequest")
.handle(Http.outboundGateway("POST_URL", restTemplate)
.httpMethod(HttpMethod.POST)
.mappedRequestHeaders("ab*", "TraceabilityID", authenticator.getToken())
.charset("UTF-8")
.expectedResponseType(Response.class))
.handle(outputWriter, "writeToDir");
}
ЧТО МНЕ НУЖНО: Время ожидания для POST_URL составляет 20000 мс. Мой код пытается написать ответ, прежде чем он получит тайм-аут и дает исключение нулевого указателя. Какой из перечисленных ниже подходов мне следует использовать?
-> Add wait() to Http.outboundGateway so that the thread waits for atleast 20 s for a response.
-> Make the whole thread sleep for 20 sec. Can you please give me an example for this?