Как сделать отложенную перезагрузку зоны в Tapestry?

Есть ли способ сделать отложенную перезагрузку зоны в Tapestry.

У меня есть не очень быстрая операция, которую я выполняю при отправке формы. Результаты видны через несколько секунд (обычно 2 или 3).

Есть ли способ сделать отложенную перезагрузку зоны, которая покажет некоторый индикатор того, что зона перезагрузится через x секунд, а затем выполнит фактическую перезагрузку?


person ioreskovic    schedule 06.02.2014    source источник
comment
В любом случае, если вы заблокируете свой метод, зона не будет обновляться до тех пор, пока метод Java не будет выполнен и не вернется.   -  person dinesh707    schedule 06.02.2014
comment
Я не работаю в среде с одним клиентом и одним потоком, поэтому единственный реальный и надежный способ узнать, был ли обновлен контент, — это запросить удаленный источник. Однако могу предположить (сильное предположение), что операция будет записана через 2-3 секунды.   -  person ioreskovic    schedule 06.02.2014
comment
тогда вам следует использовать периодическое обновление зоны. Поэтому, если ваше обновление не готово в 1-ю секунду, оно повторит попытку через другую секунду.   -  person dinesh707    schedule 06.02.2014
comment
Так? jumpstart.doublenegative.com.au/jumpstart/examples/ajax/   -  person ioreskovic    schedule 06.02.2014
comment
Это то, что я использовал. Оно работает !   -  person dinesh707    schedule 06.02.2014
comment
Спасибо, опубликуйте это как свой ответ, чтобы я мог принять его :)   -  person ioreskovic    schedule 06.02.2014


Ответы (2)


Обычно запросы на обновление зоны блокируются на стороне Java. Но, как вы говорите, ваше приложение не работает в однопоточном режиме, вы можете использовать PeriodicZoneUpdater. Где ваш клиент опрашивает обновления

person dinesh707    schedule 06.02.2014

Вы можете заполнить зону пульсирующим сигналом (или другим текстом), пока ждете.

Или вы можете получить вдохновение от компонента ProgressLink, который продолжает опрашивать серверную задачу на предмет ее выполнения в процентах, пока она не достигнет 100%.

person lance-java    schedule 06.02.2014