@Override public void addLoggingAdvice(Logger logger, MethodAdviceReceiver receiver) { MethodAdvice advice = new LoggingAdvice(logger, exceptionTracker); receiver.adviseAllMethods(advice); } }
private static void doAdvise(MethodAdviceReceiver receiver, final String id) { receiver.adviseAllMethods(new MethodAdvice() { @Override public void advise(MethodInvocation invocation) { invocation.proceed(); Object result = invocation.getReturnValue(); invocation.setReturnValue(String.format("%s[%s]", id, result)); } }); }
@Override public void addLoggingAdvice(Logger logger, MethodAdviceReceiver receiver) { MethodAdvice advice = new LoggingAdvice(logger, exceptionTracker); receiver.adviseAllMethods(advice); } }
@Override public void addTransactionCommitAdvice(final MethodAdviceReceiver receiver) { receiver.adviseAllMethods(new CommitAfterMethodAdvice(manager)); }
private static void doAdvise(MethodAdviceReceiver receiver, final String id) { receiver.adviseAllMethods(new MethodAdvice() { @Override public void advise(MethodInvocation invocation) { invocation.proceed(); Object result = invocation.getReturnValue(); invocation.setReturnValue(String.format("%s[%s]", id, result)); } }); }
@Advise(serviceInterface = NonAnnotatedServiceInterface.class) public static void adviseNonAnnotatedServiceInterface(MethodAdviceReceiver methodAdviceReceiver) { methodAdviceReceiver.adviseAllMethods(new TestAdvice()); }
@Advise(serviceInterface = AnnotatedServiceInterface.class) public static void adviseAnnotatedServiceInterface(MethodAdviceReceiver methodAdviceReceiver) { methodAdviceReceiver.adviseAllMethods(new TestAdvice()); }
@Advise(serviceInterface = NonAnnotatedGenericSetServiceInterface.class) public static void adviseNonAnnotatedGenericSetServiceInterface( final MethodAdviceReceiver methodAdviceReceiver) { methodAdviceReceiver.adviseAllMethods(new TestAdvice()); } }
private static void advise(Class<? extends Annotation> annotationClass, ObjectLocator objectLocator, Class<? extends CacheMethodAdvice> adviceClass, MethodAdviceReceiver methodAdviceReceiver) { // TAP5-2466: create the advice on-demand to avoid recursion issues MethodAdvice advice = null; if (methodAdviceReceiver.getClassAnnotationProvider().getAnnotation(annotationClass) != null) { advice = build(objectLocator, adviceClass); methodAdviceReceiver.adviseAllMethods(advice); } else { for (Method method : methodAdviceReceiver.getInterface().getMethods()) { if (methodAdviceReceiver.getMethodAnnotation(method, annotationClass) != null) { if(advice== null) { advice = build(objectLocator, adviceClass); } methodAdviceReceiver.adviseMethod(method, advice); } } } }