com.atlassian.confluence.core
Class PointcutClassLoaderProcessor

java.lang.Object
  extended by com.atlassian.confluence.core.PointcutClassLoaderProcessor
All Implemented Interfaces:
org.springframework.beans.factory.config.BeanFactoryPostProcessor

public final class PointcutClassLoaderProcessor
extends java.lang.Object
implements org.springframework.beans.factory.config.BeanFactoryPostProcessor

BeanFactoryPostProcessor 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.


Constructor Summary
PointcutClassLoaderProcessor()
           
 
Method Summary
 void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory configurableListableBeanFactory)
           
 void setClassLoader(java.lang.ClassLoader classLoader)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PointcutClassLoaderProcessor

public PointcutClassLoaderProcessor()
Method Detail

postProcessBeanFactory

public void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory configurableListableBeanFactory)
                            throws org.springframework.beans.BeansException
Specified by:
postProcessBeanFactory in interface org.springframework.beans.factory.config.BeanFactoryPostProcessor
Throws:
org.springframework.beans.BeansException

setClassLoader

public void setClassLoader(java.lang.ClassLoader classLoader)


Copyright © 2003-2008 Atlassian Pty Ltd. All Rights Reserved.