EN · DE · RU · FR · ES

#2785: EventSourceNotFoundException.java

projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/EventSourceNotFoundException.java Исключение Java (домен FullCalendar) · projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/EventSourceNotFoundException.java 44 строки · 6 кода · 33 комментария · 5 пустых
Типизированное исключение времени выполнения, выбрасываемое, когда EventManager не может найти источник событий по его UUID. Это исключение первого уровня в двухуровневой иерархии ошибок поиска. Возникает, когда Ajax-обратный вызов FullCalendar содержит UUID источника, не соответствующий ни одному из настроенных источников событий календаря — что обычно указывает на устаревшее состояние клиента (например, источник событий был удалён на сервере, но кэшированная конфигурация клиента всё ещё ссылается на него) или на ошибку на стороне клиента, отправляющую повреждённый UUID. Расширяет RuntimeException для бесшовной интеграции с обработкой исключений Ajax-обратных вызовов Wicket.

Архитектура

Иерархия исключений

Это исключение и EventNotFoundException (файл #2782) образуют различимую иерархию ошибок, а не используют единое общее исключение с кодом ошибки. Различие позволяет обработчикам реализовывать разные стратегии восстановления: при отсутствии источника обработчик может удалить события этого источника у клиента; при отсутствии события — вернуть конкретное событие на его предыдущую позицию. Оба являются родственными, напрямую расширяющими RuntimeException, а не один наследует другому, что отражает их принадлежность к разным уровням цепочки поиска.

Диагностическое сообщение

Конструктор получает сообщение в формате "Источник событий с uuid: {uuid} не найден", что полезно для серверных журналов. Значение UUID помогает операторам диагностировать, является ли проблема устаревшей сессией (старый UUID от предыдущего рендеринга страницы) или некорректным клиентским запросом.

История Git

КоммитЧто изменилось
868d6abb7ceb63e8a1Шесть ежегодных обновлений заголовков авторских прав. Класс исключения остаётся в своей первоначальной форме — конструктор с одним параметром и только сообщением полностью удовлетворяет всем потребностям диагностики и восстановления при ошибках поиска источника.