2014-01-26 5 views
0

Если мы используем ресурс в методе инициализации сервлета, и во время инициализации он не смог достичь этого ресурса, но мы знаем, что после некоторого ресурса будет доступно. Что нам делать в этом случае?Ошибка инициализации сервлета Java

  1. бросок недоступно исключение
  2. ничего не делать, когда приходит запрос для этого сервлета может начать работать
  3. делать необходимые вещи, как Try/улов и обеспечивают FALLBACK логике

Любое другое предложение?

ответ

1

Странная ситуация для принятия запросов до того, как все будет доступно, но независимо от того, это пример исключения сбоя. Вы должны выбросить исключение и заставить его перейти на «барьер ошибки», в котором вы обрабатываете исключение. Например, вы можете зарегистрировать исключение и сообщить пользователю, чтобы он мог проверить его позже.

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

Кстати, я не придумал такой подход. Barry Ruzek did.

+0

спасибо за пояснение и действительно хорошая статья. – user3085390

1

Я думаю, это зависит от того, нужен ли ресурс для запроса пользователя. Если это необходимо, вы должны инициализировать ресурс перед запросом пользователя процесса. Если это не требуется, вы можете пропустить ресурс. Вы также можете зарегистрировать запрос в своей базе данных или в файле журнала. Когда ресурс доступен, вы можете вызвать операцию в соответствии с журналом и изменить статус данных, которые вы сохранили.

+0

, то как вы обрабатываете ресурс in-case, который не удалось инициализировать? – user3085390

+0

зависит от того, нужен ли ресурс для запроса пользователя. Если это необходимо, вы можете вызывать исключение. Если это не требуется, вы можете поймать исключение и вывести его в файл журнала. Вы также можете установить флаг в свой код и установить его false, когда ресурс не был инициализирован. Последний запрос будет оценивать флаг. Если он неверен, он пропустит код. – jiangchunzhi

+0

Если я правильно понимаю, вы имеете в виду, что бросать недоступное исключение достаточно. нет необходимости предоставлять резервный логический ресурс в случае необходимости и недоступен? – user3085390

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