Ваше приложение сгруппировано за балансировщиком нагрузки?Если это так, то ваша проблема заключается в том, что вы должны запретить распределителю нагрузки направлять трафик на любой экземпляр сервера, который не был полностью инициализирован.Вы можете создать сервлет AmIReady, который проверяет состояние сервера, а затем возвращает соответствующий код ответа (200 или 503?).Свяжите это с / checkstatus или чем-то другим, и заставьте свой балансировщик нагрузки использовать этот URL-адрес в качестве проверки работоспособности.
Если вы выполняете липкое распределение нагрузки, идея, предложенная @skaffman, вероятно, будет работать, если предположить, что вы действительно устанавливаете настройки кэша для файлов * no-cache.js в no-cache.Однако такой подход может привести к тому, что пользователь получит ответ об ошибке от инициализирующего сервера, когда хороший ответ мог быть получен с другого сервера в кластере (конечно, при условии, что вы сможете выполнить раунд- Развертывание роботов, чтобы избежать простоев, а также то, что ваши стратегии кэширования сеансов позволяют пользователям беспрепятственно перемещаться между серверами и т. д. и т. д.