хочу посоветовать следующий метод
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
Приложение построено успешно, но код совета не выполняется.
Я использую Spring boot с @EnableAspectJAutoProxy(proxyTargetClass=true)
в своем классе конфигурации.
Кстати у меня есть @AfterThrowing
совет бегать правильно. Поэтому я очень думаю, что проблема связана с моим выражением исполнения.
Обновление: У меня очень странный вывод: когда я использую любой аргумент типа String, совет не работает, иначе (Long или Double) он работает.
любое объяснение?