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...)
,
XmlPortletApplicationContext
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
APPLICATION_CONTEXT_ID_PREFIX, PORTLET_CONFIG_BEAN_NAME, PORTLET_CONTEXT_BEAN_NAME
CONTEXT_ATTRIBUTES_BEAN_NAME, CONTEXT_PARAMETERS_BEAN_NAME, ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_APPLICATION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION, SERVLET_CONTEXT_BEAN_NAME
CONFIG_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, setId
assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, getBeanFactory, hasBeanFactory, loadBeanDefinitions, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences
addApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, 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, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, start, stop, toString
addProtocolResolver, getClassLoader, getProtocolResolvers, getResource, setClassLoader
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
setConfigLocation, setConfigLocations
addApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setId
getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation
containsLocalBean, getParentBeanFactory
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
getMessage, getMessage, getMessage
publishEvent, publishEvent
getResources
public 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.ConfigurableApplicationContext
setParent
in class org.springframework.context.support.AbstractApplicationContext
public ServletContext getServletContext()
getServletContext
in interface org.springframework.web.context.WebApplicationContext
public void setPortletContext(PortletContext portletContext)
ConfigurablePortletApplicationContext
Does not cause an initialization of the context: refresh needs to be called after the setting of all configuration properties.
setPortletContext
in interface ConfigurablePortletApplicationContext
ConfigurableApplicationContext.refresh()
public PortletContext getPortletContext()
ConfigurablePortletApplicationContext
getPortletContext
in interface ConfigurablePortletApplicationContext
public void setPortletConfig(PortletConfig portletConfig)
ConfigurablePortletApplicationContext
setPortletConfig
in interface ConfigurablePortletApplicationContext
ConfigurableApplicationContext.refresh()
public PortletConfig getPortletConfig()
ConfigurablePortletApplicationContext
getPortletConfig
in interface ConfigurablePortletApplicationContext
public void setNamespace(String namespace)
ConfigurablePortletApplicationContext
setNamespace
in interface ConfigurablePortletApplicationContext
public String getNamespace()
ConfigurablePortletApplicationContext
getNamespace
in interface ConfigurablePortletApplicationContext
public String[] getConfigLocations()
ConfigurablePortletApplicationContext
null
if none specified.getConfigLocations
in interface ConfigurablePortletApplicationContext
getConfigLocations
in class org.springframework.context.support.AbstractRefreshableConfigApplicationContext
public String getApplicationName()
getApplicationName
in interface org.springframework.context.ApplicationContext
getApplicationName
in class org.springframework.context.support.AbstractApplicationContext
protected org.springframework.core.env.ConfigurableEnvironment createEnvironment()
StandardPortletEnvironment
.createEnvironment
in class org.springframework.context.support.AbstractApplicationContext
protected void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
PortletContextAwareProcessor
, etc.postProcessBeanFactory
in class org.springframework.context.support.AbstractApplicationContext
protected org.springframework.core.io.Resource getResourceByPath(String path)
getResourceByPath
in class org.springframework.core.io.DefaultResourceLoader
PortletContextResource
protected org.springframework.core.io.support.ResourcePatternResolver getResourcePatternResolver()
getResourcePatternResolver
in class org.springframework.context.support.AbstractApplicationContext
PortletContextResourcePatternResolver
protected void customizeBeanFactory(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)
customizeBeanFactory
in class org.springframework.context.support.AbstractRefreshableApplicationContext