Package org.sakaiproject.util
Class SakaiApplicationContext
- java.lang.Object
-
- org.springframework.core.io.DefaultResourceLoader
-
- org.springframework.context.support.AbstractApplicationContext
-
- org.springframework.context.support.GenericApplicationContext
-
- org.sakaiproject.util.SakaiApplicationContext
-
- All Implemented Interfaces:
Closeable,AutoCloseable,org.springframework.beans.factory.BeanFactory,org.springframework.beans.factory.HierarchicalBeanFactory,org.springframework.beans.factory.ListableBeanFactory,org.springframework.beans.factory.support.BeanDefinitionRegistry,org.springframework.context.ApplicationContext,org.springframework.context.ApplicationEventPublisher,org.springframework.context.ConfigurableApplicationContext,org.springframework.context.Lifecycle,org.springframework.context.MessageSource,org.springframework.core.AliasRegistry,org.springframework.core.env.EnvironmentCapable,org.springframework.core.io.ResourceLoader,org.springframework.core.io.support.ResourcePatternResolver
public class SakaiApplicationContext extends org.springframework.context.support.GenericApplicationContextHook some Sakai-specific operations into the normal ApplicationContext refresh cycle: read component manager configuration files, give creators of PostProcessor objects (e.g., SakaiProperties) a chance to do their work, and load a few central components before the rest.
-
-
Field Summary
-
Fields inherited from class org.springframework.context.support.AbstractApplicationContext
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
-
Fields inherited from interface org.springframework.context.ConfigurableApplicationContext
APPLICATION_STARTUP_BEAN_NAME, CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SHUTDOWN_HOOK_THREAD_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
-
-
Constructor Summary
Constructors Constructor Description SakaiApplicationContext()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidinvokePostProcessorCreators(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)Add bean-created post processors.protected voidloadBeanDefinitions(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)protected voidonRefresh()Load initial beans before going through the default logic.protected voidpostProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)Before post-processing, load beans which have declared that they want to add post-processors dynamically.protected voidprepareBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)Load component manager configurations.voidsetConfigLocations(String[] configLocations)voidsetInitialSingletonNames(String[] initialSingletonNames)-
Methods inherited from class org.springframework.context.support.GenericApplicationContext
cancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBean, registerBean, registerBean, registerBean, registerBean, registerBean, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setApplicationStartup, setClassLoader, setParent, setResourceLoader
-
Methods inherited from class org.springframework.context.support.AbstractApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, assertBeanFactoryActive, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroy, destroyBeans, doClose, findAnnotationOnBean, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getApplicationStartup, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, setId, start, stop, toString
-
Methods inherited from class org.springframework.core.io.DefaultResourceLoader
addProtocolResolver, clearResourceCaches, getProtocolResolvers, getResourceByPath, getResourceCache
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
prepareBeanFactory
protected void prepareBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
Load component manager configurations. A more normal hook for this is the "refreshBeanFactory" method, but it's declared final by GenericApplicationContext.- Overrides:
prepareBeanFactoryin classorg.springframework.context.support.AbstractApplicationContext
-
loadBeanDefinitions
protected void loadBeanDefinitions(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory) throws IOException- Throws:
IOException
-
postProcessBeanFactory
protected void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
Before post-processing, load beans which have declared that they want to add post-processors dynamically.- Overrides:
postProcessBeanFactoryin classorg.springframework.context.support.AbstractApplicationContext
-
onRefresh
protected void onRefresh() throws org.springframework.beans.BeansExceptionLoad initial beans before going through the default logic.- Overrides:
onRefreshin classorg.springframework.context.support.AbstractApplicationContext- Throws:
org.springframework.beans.BeansException
-
invokePostProcessorCreators
public void invokePostProcessorCreators(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
Add bean-created post processors.- Parameters:
beanFactory-
-
setInitialSingletonNames
public void setInitialSingletonNames(String[] initialSingletonNames)
- Parameters:
initialSingletonNames- initial configuration beans to load, behaving as universal "dependsOn" targets
-
setConfigLocations
public void setConfigLocations(String[] configLocations)
- Parameters:
configLocations- file paths of XML bean definition files to load before refresh
-
-