public final class

PointcutClassLoaderProcessor

extends Object
implements BeanClassLoaderAware BeanPostProcessor Ordered
java.lang.Object
   ↳ com.atlassian.confluence.core.PointcutClassLoaderProcessor

Class Overview

BeanPostProcessor that swaps out Spring's default AspectJExpressionPointcut and substitutes it for an implementation that is customised to use the Confluence application classloader. This is needed as the default implementation of the AspectJ pointcut uses the current context class loader for class resolution. The context class loader does not know about the plugin classloader and this results in gross inefficiencies when plugin classes are used in a Spring context.

Summary

[Expand]
Inherited Constants
From interface org.springframework.core.Ordered
Public Constructors
PointcutClassLoaderProcessor()
Public Methods
int getOrder()
Object postProcessAfterInitialization(Object bean, String beanName)
Object postProcessBeforeInitialization(Object bean, String beanName)
void setBeanClassLoader(ClassLoader classLoader)
void setOrder(int order)
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.beans.factory.BeanClassLoaderAware
From interface org.springframework.beans.factory.config.BeanPostProcessor
From interface org.springframework.core.Ordered

Public Constructors

public PointcutClassLoaderProcessor ()

Public Methods

public int getOrder ()

public Object postProcessAfterInitialization (Object bean, String beanName)

Throws
BeansException

public Object postProcessBeforeInitialization (Object bean, String beanName)

Throws
BeansException

public void setBeanClassLoader (ClassLoader classLoader)

public void setOrder (int order)