Aspectj @Around pointcut все методы в Java

Я пишу простой аспект таймера, чтобы использовать все методы во всех пакетах, принадлежащих моему проекту. Но тогда возвращаемые типы различных методов в этих классах различны, и я получаю следующую ошибку :

Это работает только для сеттера, но не для геттера...

Error: applying to joinpoint that doesn't return void

а вот мой timeraspect...

@Around("execution(* com.myproject..*(..))")
public void log(ProceedingJoinPoint pjp) throws Throwable{


    LOG.info("TimerAspect");
    String name = pjp.getSignature().getName();
    Monitor mon = MonitorFactory.start(name);
    pjp.proceed();
    mon.stop();

    LOG.info("TimerAspect Mon" + mon);

    String printStr = mon.getLabel()+","+mon.getUnits()+","+mon.getLastValue()+","+mon.getHits()+","+mon.getAvg()+","+mon.getTotal()+","+mon.getMin()+","+mon.getMax()+","+mon.getFirstAccess()+","+mon.getLastAccess();

    File f = new File("target/stats.csv");
    BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(f, true));
    bufferedWriter.write(printStr);
    bufferedWriter.newLine();
    bufferedWriter.flush();
    bufferedWriter.close();


}

Любая подсказка, чтобы решить эту проблему, очень ценится.

Спасибо

9
задан Matias Cicero 10 July 2015 в 18:26
поделиться