public abstract class AbstractRefreshablePortletApplicationContext extends org.springframework.context.support.AbstractRefreshableConfigApplicationContext implements org.springframework.web.context.WebApplicationContext, ConfigurablePortletApplicationContext
AbstractRefreshableApplicationContext
subclass which implements the ConfigurablePortletApplicationContext
interface for portlet environments. Provides a "configLocations" property,
to be populated through the ConfigurablePortletApplicationContext interface
on portlet application startup.
This class is as easy to subclass as AbstractRefreshableApplicationContext:
All you need to implements is the AbstractRefreshableApplicationContext.loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory) method;
see the superclass javadoc for details. Note that implementations are supposed
to load bean definitions from the files specified by the locations returned
by the getConfigLocations() method.
Interprets resource paths as servlet context resources, i.e. as paths beneath
the web application root. Absolute paths, e.g. for files outside the web app root,
can be accessed via "file:" URLs, as implemented by
DefaultResourceLoader.
This is the portlet context to be subclassed for a different bean definition format.
Such a context implementation can be specified as "contextClass" init-param
for FrameworkPortlet, replacing the default XmlPortletApplicationContext.
It will then automatically receive the "contextConfigLocation" init-param.
Note that Portlet-based context implementations are generally supposed
to configure themselves based on the configuration received through the
ConfigurablePortletApplicationContext interface. In contrast, a standalone
application context might allow for configuration in custom startup code
(for example, GenericApplicationContext).
AbstractRefreshableApplicationContext.loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory),
ConfigurablePortletApplicationContext.setConfigLocations(java.lang.String[]),
XmlPortletApplicationContextAPPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAMEAPPLICATION_CONTEXT_ID_PREFIX, PORTLET_CONFIG_BEAN_NAME, PORTLET_CONTEXT_BEAN_NAMECONTEXT_ATTRIBUTES_BEAN_NAME, CONTEXT_PARAMETERS_BEAN_NAME, ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_APPLICATION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION, SERVLET_CONTEXT_BEAN_NAMECONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME| Constructor and Description |
|---|
AbstractRefreshablePortletApplicationContext() |
| Modifier and Type | Method and Description |
|---|---|
protected org.springframework.core.env.ConfigurableEnvironment |
createEnvironment()
Create and return a new
StandardPortletEnvironment. |
protected void |
customizeBeanFactory(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory) |
String |
getApplicationName() |
String[] |
getConfigLocations()
Return the config locations for this web application context,
or
null if none specified. |
String |
getNamespace()
Return the namespace for this web application context, if any.
|
PortletConfig |
getPortletConfig()
Return the PortletConfig for this portlet application context, if any.
|
PortletContext |
getPortletContext()
Return the standard Portlet API PortletContext for this application.
|
protected org.springframework.core.io.Resource |
getResourceByPath(String path)
This implementation supports file paths beneath the root of the PortletContext.
|
protected org.springframework.core.io.support.ResourcePatternResolver |
getResourcePatternResolver()
This implementation supports pattern matching in unexpanded WARs too.
|
ServletContext |
getServletContext() |
protected void |
postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
Register request/session scopes, a
PortletContextAwareProcessor, etc. |
void |
setNamespace(String namespace)
Set the namespace for this portlet application context,
to be used for building a default context config location.
|
void |
setParent(org.springframework.context.ApplicationContext parent) |
void |
setPortletConfig(PortletConfig portletConfig)
Set the PortletConfig for this portlet application context.
|
void |
setPortletContext(PortletContext portletContext)
Set the PortletContext for this portlet application context.
|
afterPropertiesSet, getDefaultConfigLocations, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setIdassertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, getBeanFactory, hasBeanFactory, loadBeanDefinitions, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferencesaddApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, setEnvironment, start, stop, toStringgetClassLoader, getResource, setClassLoaderclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitsetConfigLocation, setConfigLocationsaddApplicationListener, addBeanFactoryPostProcessor, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setIdgetAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDatecontainsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotationcontainsLocalBean, getParentBeanFactorycontainsBean, getAliases, getBean, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatchgetMessage, getMessage, getMessagegetResourcespublic AbstractRefreshablePortletApplicationContext()
public void setParent(org.springframework.context.ApplicationContext parent)
The parent environment is
delegated to this (child) context if the parent is a
ConfigurableApplicationContext implementation.
The parent servlet context is
delegated to this (child) context if the parent is a WebApplicationContext
implementation.
setParent in interface org.springframework.context.ConfigurableApplicationContextsetParent in class org.springframework.context.support.AbstractApplicationContextpublic ServletContext getServletContext()
getServletContext in interface org.springframework.web.context.WebApplicationContextpublic void setPortletContext(PortletContext portletContext)
ConfigurablePortletApplicationContextDoes not cause an initialization of the context: refresh needs to be called after the setting of all configuration properties.
setPortletContext in interface ConfigurablePortletApplicationContextConfigurableApplicationContext.refresh()public PortletContext getPortletContext()
ConfigurablePortletApplicationContextgetPortletContext in interface ConfigurablePortletApplicationContextpublic void setPortletConfig(PortletConfig portletConfig)
ConfigurablePortletApplicationContextsetPortletConfig in interface ConfigurablePortletApplicationContextConfigurableApplicationContext.refresh()public PortletConfig getPortletConfig()
ConfigurablePortletApplicationContextgetPortletConfig in interface ConfigurablePortletApplicationContextpublic void setNamespace(String namespace)
ConfigurablePortletApplicationContextsetNamespace in interface ConfigurablePortletApplicationContextpublic String getNamespace()
ConfigurablePortletApplicationContextgetNamespace in interface ConfigurablePortletApplicationContextpublic String[] getConfigLocations()
ConfigurablePortletApplicationContextnull if none specified.getConfigLocations in interface ConfigurablePortletApplicationContextgetConfigLocations in class org.springframework.context.support.AbstractRefreshableConfigApplicationContextpublic String getApplicationName()
getApplicationName in interface org.springframework.context.ApplicationContextgetApplicationName in class org.springframework.context.support.AbstractApplicationContextprotected org.springframework.core.env.ConfigurableEnvironment createEnvironment()
StandardPortletEnvironment.createEnvironment in class org.springframework.context.support.AbstractApplicationContextprotected void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
PortletContextAwareProcessor, etc.postProcessBeanFactory in class org.springframework.context.support.AbstractApplicationContextprotected org.springframework.core.io.Resource getResourceByPath(String path)
getResourceByPath in class org.springframework.core.io.DefaultResourceLoaderPortletContextResourceprotected org.springframework.core.io.support.ResourcePatternResolver getResourcePatternResolver()
getResourcePatternResolver in class org.springframework.context.support.AbstractApplicationContextPortletContextResourcePatternResolverprotected void customizeBeanFactory(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)
customizeBeanFactory in class org.springframework.context.support.AbstractRefreshableApplicationContext