Как поймать исключение и отправить информацию об этом в портлете liferay - PullRequest
2 голосов
/ 14 октября 2010

У меня есть пользовательский портлет, созданный для liferay, и иногда он выдает исключение. Почему он вызывает исключения, не имеет значения.

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

Я использую Spring Portlet MVC, поэтому у меня под рукой есть все тонкости, связанные с пружиной.

Ответы [ 2 ]

2 голосов
/ 15 октября 2010

Проблема (и) решена.

Создан класс, который реализует org.springframework.web.portlet.HandlerExceptionResolver и объявлен в applicationContext.xml :

<bean id="myExeptionResolver" class="net.foo.bar.MyExeptionResolver" />

Весна подбирает класс и волшебным образом знает, для чего он.

Для отправки по электронной почте я использовал LifeE's MailEngine.

0 голосов
/ 10 января 2011

Я создал maven архетип для портлета на основе пружиныСуществует реализация распознавателя исключений, которая отправляет электронное письмо администратору в зависимости от уровня приоритета.

...