AspectJ против Spring AOP против JBoss AOP для обработки исключений - PullRequest
1 голос
/ 03 февраля 2010

Я пишу веб-сервис для внешней системы.

Мой класс-оболочка сервиса имеет ряд методов, которые вызывают весь мыльный интерфейс веб-сервиса. Вызов может вызвать исключение, которое затем должно автоматически вызвать переподключение к веб-сервису.

Чтобы справиться с этим сценарием, я хотел бы использовать AOP таким образом, чтобы все методы, которые вызывают интерфейс SOAP, были обернуты блоком try / catch. В блоке перехвата повторное подключение выполнено.

В данный момент я не использую Spring, поэтому думаю о внедрении JBoss AOP. Мне нужен совет, если AspectJ или Spring AOP будут лучшей альтернативой.

Спасибо.

1 Ответ

2 голосов
/ 04 февраля 2010

Ваши требования довольно просты, поэтому вам подойдут либо AspectJ, JBoss AOP или Spring AOP.Это говорит о том, что лучше всего работать с самым простым вариантом.

  • Я считаю, что AspectJ работает с использованием манипуляций с байт-кодом, либо во время компиляции, либо во время загрузки, что (в зависимости от ваших настроек)это либо просто, либо кошмар.Он очень гибок в том, что вы можете сделать, но может быть немного пугающим.
  • Spring AOP ограничен (что не является проблемой, так как это ваши требования), но является чисто решением времени выполнения,Его отсутствие гибкости может быть здесь бонусом, поскольку его легко понять
  • JBoss AOP Я не очень знаком с ним, но он ближе к Spring AOP, чем к AspectJ
...