Возможно ли кэширование запросов асинхронным, так что ни один пользователь интерфейса не должен ждать завершения тяжелого запроса? (То есть тяжелый запрос выполняется в качестве фонового потока, в то время как (просроченные) данные доставляются из кэша.
Вариант использования:
Веб-страница, отображающая данные, для сбора которой требуется некоторое время (слишком долго ждать при запросе страницы) из базы данных.
Простое кэширование данных в течение одного часа означает, что каждый час один пользователь должен ждать завершения запроса.
Я бы хотел что-то вроде этого:
Первому пользователю, который запросит (просроченные) данные из кэша, будут доставлены просроченные данные. В фоновом режиме запускается отдельный поток, который будет обновлять кэшированные данные из базы данных. Следующий пользователь увидит свежие данные.
Есть ли стандартное решение для этого, без необходимости самостоятельно кэшировать? В идеале, используя ehcache & springmodules.
Спасибо:)