Добрый день!
Есть класс с объявленной транзакционностью в спринге с помощью аспектов
public class DataBean
{
@Transactional( propagation = Propagation.REQUIRED, isolation = Isolation.SERIALIZABLE, readOnly = true )
public void doBusiness() {...}
}
Теперь появилась необходимость добавить к этому методу логгирование. Я написал следующий класс:
@Aspect
public class UserActivityLogger
{
@After("execution(* test.DataBean.doBusiness(..))")
public void onDoBusiness()
{..}
}
Но логгирование не работает, потому что, судя по всему, UserActivityLogger не может сделать прокси для уже проксированного класса. Во всяком случае, когда я убираю @Transactional с метода doBusiness() — все начинает работать.
Есть у кого-то идеи как подружить транзакционность с логгированием с помощью AOP?
Спасибо