Я перешел по указанной ниже ссылке с сайта perf4J и сделал то же самое: http: / /perf4j.codehaus.org/devguide.html#Using_Spring_AOP_to_Integrate_Timing_Aspect
В моем spring.xml добавлено следующее.
В классе WscClientBase у меня есть следующий метод с аннотацией @Profiled .
@Profiled(tag = "SOAPCALLTEST")
public Object sendMessage(Object message) {
String msg = message.toString();
if (msg.indexOf(' ') > 1) {
msg = msg.substring(1, msg.indexOf(' '));
}
try {
Object ret = marshalSendAndReceive(message);
return ret;
} catch (RuntimeException ex) {
throw ex;
}
}
Я не вижу операторов perf4j TimingLogger в журнале приложения. Однако, если я использую его навязчиво (без аннотации), как показано ниже, я успешно вижу операторы журнала.
public Object sendMessage(Object message) {
String msg = message.toString();
if (msg.indexOf(' ') > 1) {
msg = msg.substring(1, msg.indexOf(' '));
}
StopWatch stopWatch = new Slf4JStopWatch();
try {
Object ret = marshalSendAndReceive(message);
stopWatch.stop("PERF_SUCCESS_TAG", msg);
return ret;
} catch (RuntimeException ex) {
stopWatch.stop("PERF_FAILURE_TAG", msg);
throw ex;
}
}
Я что-то упускаю?