2013-06-10 5 views
0

Я работаю с Sitebricks Мне это нравится. Интересно, однако, какой лучший подход для перехвата услуг для сквозных задач? Ведение журнала, проверка, обработка исключений - все задачи, которые должны быть помещены в компоненты, подобные перехватчикам. В настоящее время я делаю это с АОП на услуги, как так:Sitebricks service перехват?

bindInterceptor(annotatedWith(Service.class), returns(only(Reply.class)), new HttpRequestFailureReportInterceptor(new MessageAcceptor() { 
      @Override 
      public void accept(String message) { 
      Logger logger = LoggerFactory.getLogger(this.getClass()); 
      logger.debug(message); 
      } 
     })); 

Это хороший способ для выполнения таких задач, как это? Если нет, то почему? Каковы преимущества и недостатки такого подхода?

ответ

1

Мы определенно рекомендуем вам использовать Guice AOP, который является довольно надежным и полнофункциональным. Одна из целей Sitebricks - не скрывать Guice, а полагаться на нее сильно.

Канонический метод заключается в использовании аннотаций, таких как @Traced для метода, выполнение которого прослеживается или @Transactional и т. Д. Если вы используете sitebricks-persist, последняя аннотация предоставляется бесплатно.

Dhanji.

+0

Спасибо за комментарий, но разве это не слишком тяжело, потому что перехватчик использует прокси-объекты? Разве это не лучше для пользовательских фильтров? – Adelin