Я хочу посоветовать следующий методвыражения выполнения Spring AOP с двумя аргументами
public BaseRepresentationObject createLedgerTransaction(Long fromUserId, Long toUserId, Double serviceAmount,
Double masaryCommission, Double merchantCommission, Double appliedFees, Double tax, Long ratePlanId,
Long serviceId, String pendingTrx, String globalTrxId)
и извлечь два аргумента: pendingTrx
, globalTrxId
для использования в методе консультации.
Я использую следующее выражение выполнения:
@Around("execution(* com.masary.ledger.service.components.LedgerTransactionComponent.createLedgerTransaction(..)) && args(pendingTrx,globalTrxId,..)")
public Object doBasicProfilingLedgerCreate(final ProceedingJoinPoint pjp , String pendingTrx, String globalTrxId) throws Throwable
Приложение построено успешно, но код советов не выполняется.
Я использую весенний ботинок с @EnableAspectJAutoProxy(proxyTargetClass=true)
на моем классе конфигурации.
У меня есть @AfterThrowing
Совет для правильной работы. Поэтому я очень думаю, что проблема связана с моим исполнением.
Update: У меня есть очень странный вывод: когда я использую любой аргумент типа String, совет не работает, в противном случае (Long или Double) он работает.
любое объяснение?
спасибо миллиона ... у вас есть какой-либо документ на языке выражений аргументов методы в АОПЕ, потому что у меня есть еще подобные проблемы. –
Я использовал это как ссылку: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html – alexbt