Spring AOP Ограничение, когда рекомендованный метод вызывает методы для цели - PullRequest
0 голосов
/ 02 декабря 2010

Мой вариант использования - регистрировать каждый вызов метода для объекта.После добавления метода-перехватчика на целевой объект, я вызываю метод Foo.Этот метод Foo вызывает метод Bar.Будет зарегистрирован только метод Foo.

class MyClass {
   public void Foo() {Bar();}
   public void Bar() {}
}

Читая документацию Spring, я нашел предложение, объясняющее, почему я не могу реализовать то, что хочу.Из документации Spring (стр. 146):

Обратите внимание, что в обоих случаях реализация целевого метода, вызывающая другие методы целевого объекта, не рекомендуется.

AmЯ что-то здесь упустил?Или это действительно ограничение Spring?

Ответы [ 2 ]

0 голосов
/ 02 декабря 2010

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

0 голосов
/ 02 декабря 2010

Начало решения ...

http://www.digizenstudio.com/blog/2007/05/29/the-self-calling-limitation-in-spring-aop-and-one-unintrusive-solution/

EDIT Наконец, я решил перейти на замок АОП. Они предлагают класс прокси, который отвечает моим потребностям.

...