2015-08-06 8 views
0

Есть простого, системы с учетом способа advicing браузера, чтобы обновить каждый ресурс сразу после свежего развертывания war -файла?JSF обновления после «развертывания»

Я знаю, что filter может использоваться для установки необходимых заголовков, но мне все же нужно будет реализовать логику, заботясь о том, чтобы каждый ресурс обновлялся как минимум один раз на одного клиента.

I.e. что-то вроде добавления &deployment=2015-08-06-22-00-00 в КАЖДЫЙ (ресурс-) запрос? (это заставит браузер кэшировать ресурсы под заданным параметром, обновив его после следующего развертывания, когда параметр изменился.)

Установка заголовков No-Cache все время не является вариантом, поскольку есть огромное количество ресурсов, которые приведут к передаче около 5 МБ (даже gzip-encoded) за запрос.

Я думал об использовании «Expires» заголовок для каждого ресурса, но к сожалению, это потребовало бы предсказать следующий развертывания n, когда развертывание n-1 выпускается ...

В настоящее время лучшим вариантом является установите время истечения срока действия до 1d, поскольку развертывание обычно происходит в конце дня. Однако если система работает без обновления в течение нескольких недель, это вызовет ненужные передачи данных в день и клиента ...

+0

Это приемлемо как обман? http://stackoverflow.com/questions/18143383/how-to-use-jsf-versioning-for-resources-in-jar/ – BalusC

+0

@BalusC Это не дубликат, но Custom ResourceHandler может быть хорошей идеей справиться с этим , если каждый из них является правильным запросом ресурсов, а не ванильным. Thx для ссылки – dognose

ответ

0

В случае небольшого количества ресурсов поместите их в новую папку, в нашем случае js изменения файла не отражаются после развертывания, и теперь для каждого развертывания ресурсы js помещаются в новую папку, чтобы избежать этой проблемы. В вашем случае проверьте возможность сохранения ресурсов в новой папке/местоположении на основе версии развертывания. это поможет?

+0

Я думаю, что это может сработать для некоторых проектов, но для наших ресурсов количество ресурсов очень велико, поэтому сценарий «перераспределения» ресурсов при сборке будет кошмаром для поддержания. – dognose

Смежные вопросы