Долгое время мы просим, ​​пользовательский интерфейс истекает время ожидания ответа - PullRequest
0 голосов
/ 01 февраля 2020

У меня есть одно приложение angular и одно приложение с весенней загрузкой, из UI идет один запрос на весеннюю загрузку с еще 100-200 объектами, для каждого из этих объектов в al * 1012 вызывается другая внутренняя система *. что-то вроде ..

list.parallelStream().forEach(e->{

    //code using rest template for backend.
    // add the responses to an array list.
    // i can send all these objects to backend at one shot because they have some limitations and dont support it currently. 
});

Это занимает много времени для завершения, и к тому времени, когда весь запрос завершен, пользовательский интерфейс получает тайм-аут.

Я пытался использовать среду исполнения, forkjoin или параллель, но этого недостаточно. потому что браузер ждёт 30-60 сек c.

Я хочу переключиться на любой c процесс, в котором я отправляю запрос на весеннюю загрузку, из пользовательского интерфейса я смогу проверить состояние запроса после временного интервала. Я попробовал такие концепции, как DeferredResult, @ Asyn c, завершаемое будущее и StreamingResponseBody. Есть ли способ обработать эти длительные запросы ???

Некоторые из этих концепций работают, но когда размер входного сигнала увеличивается, они также не работают должным образом. как мне удается получить статус моего запроса и использовать индикатор выполнения et c, чтобы показать даже пользователя. или лучше подойдет?

1 Ответ

0 голосов
/ 01 февраля 2020

Для меня это звучит так, как будто вы хотите передавать данные.

Возможно, реактивный стек Spring - это то, на что вы хотите взглянуть:

При этом ваше приложение angular должно иметь возможность отображать или реагировать на очень законченную обработку отдельного человека пункт, как они происходят.

Надеюсь, что помогает.

...