Использование перехватчиков EJB для достоверности параметров - PullRequest
1 голос
/ 08 мая 2011

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

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 08 мая 2011

Перехватчики могут быть использованы для выполнения пользовательского кода до вызова метода bean. Вы можете определить метод перехватчика в самом классе бина или в отдельных классах.

@AroundInvoke
public Object defaultInterceptor(InvocationContext ctx) throws Exception
{
   Object[] parameters = ctx.getParameters();

   /* parameters will have values that will be 
      passed to the method of the target class */

   return ctx.proceed();
}

Создание записи перехватчика в ejb-jar.xml путем указания полного пути. Это будет применяться к каждому методу всех бобов.

<interceptor-binding>
      <ejb-name>*</ejb-name>
      <interceptor-class>com.interceptor.DefaultInterceptor</interceptor-class>
   </interceptor-binding>
0 голосов
/ 08 мая 2011

Есть ли у вас возможность использовать для этого специальные фреймворки, такие как Hibernate Validator ? Это было бы меньше работы для реализации ...

...