@Override protected boolean shouldSkip(Class<?> beanClass, String beanName) { // TODO: Consider optimization by caching the list of the aspect names List<Advisor> candidateAdvisors = findCandidateAdvisors(); for (Advisor advisor : candidateAdvisors) { if (advisor instanceof AspectJPointcutAdvisor && ((AspectJPointcutAdvisor) advisor).getAspectName().equals(beanName)) { return true; } } return super.shouldSkip(beanClass, beanName); }
private Advisor createAspectJAdvice(int advisorOrder, int adviceDeclarationOrder, String aspectName, AbstractAspectJAdvice advice) { advice.setDeclarationOrder(adviceDeclarationOrder); advice.setAspectName(aspectName); AspectJPointcutAdvisor advisor = new AspectJPointcutAdvisor(advice); advisor.setOrder(advisorOrder); return advisor; }
@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof Advised) { Advised advised = (Advised) bean; for (Advisor advisor : advised.getAdvisors()) { if (advisor instanceof AspectJPointcutAdvisor) { String foundName = ((AbstractAspectJAdvice) ((AspectJPointcutAdvisor) advisor) .getAdvice()).getAspectName(); if (aspect.getName().equals(foundName)) { LOG.info(String.format("Found bean '%s' advised by %s; injecting", beanName, aspect)); try { aspect.addAdvised(advised.getTargetSource().getTarget(), beanName); } catch (Exception e) { throw new RuntimeException(e); } } } } } return bean; }
@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof Advised) { Advised advised = (Advised) bean; for (Advisor advisor : advised.getAdvisors()) { if (advisor instanceof AspectJPointcutAdvisor) { String foundName = ((AbstractAspectJAdvice) ((AspectJPointcutAdvisor) advisor) .getAdvice()).getAspectName(); if (aspect.getName().equals(foundName)) { LOG.info(String.format("Found bean '%s' advised by %s; injecting", beanName, aspect)); try { aspect.addAdvised(advised.getTargetSource().getTarget(), beanName); } catch (Exception e) { throw new RuntimeException(e); } } } } } return bean; }
@Override protected boolean shouldSkip(Class<?> beanClass, String beanName) { // TODO: Consider optimization by caching the list of the aspect names List<Advisor> candidateAdvisors = findCandidateAdvisors(); for (Advisor advisor : candidateAdvisors) { if (advisor instanceof AspectJPointcutAdvisor && ((AspectJPointcutAdvisor) advisor).getAspectName().equals(beanName)) { return true; } } return super.shouldSkip(beanClass, beanName); }
@Override protected boolean shouldSkip(Class<?> beanClass, String beanName) { // TODO: Consider optimization by caching the list of the aspect names List<Advisor> candidateAdvisors = findCandidateAdvisors(); for (Advisor advisor : candidateAdvisors) { if (advisor instanceof AspectJPointcutAdvisor) { if (((AbstractAspectJAdvice) advisor.getAdvice()).getAspectName().equals(beanName)) { return true; } } } return super.shouldSkip(beanClass, beanName); }