Аудит журналов с использованием Spring AOP - PullRequest
0 голосов
/ 13 сентября 2011

Мы рассматриваем инфраструктуру Spring AOP для добавления функциональности журнала аудита в наше приложение на основе Spring MVC.

В нашем приложении всякий раз, когда мы вызываем метод службы, мы передаем дополнительный объект журнала аудита (в дополнение к обычномупараметр метода).Этот объект журнала аудита имеет несколько предварительно заполненных свойств, таких как имя пользователя, идентификатор пользователя и IP-адрес пользователя и т. Д.

В реальном методе обслуживания мы задаем еще несколько свойств объекта журнала аудита в зависимости от вызываемого метода или выполняемой операции.выполняется в сервисном методе.

Это очень динамично и варьируется от метода к методу.

В классах AOP мы можем перехватывать параметры метода и возвращаемые значения.Но как насчет значений, которые рассчитываются на основе операции, выполняемой в методе службы, а затем устанавливаются в объекте журнала аудита.Эти значения не будут доступны в классах AOP.

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

Есть ли что-нибудь, что мы можемсделать это?

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 26 октября 2011

В классе AOP у вас должен быть доступ к объекту аудита, поскольку у вас есть доступ к параметрам метода. Поэтому после возвращения метода найдите объект аудита в параметрах метода и работайте с ним. Не имеет значения, какой аргумент является объектом аудита, если вы можете найти его по типу.

Значения, заданные вами для объекта аудита, должны оставаться там, поскольку объект аудита был передан по ссылке.

...