org.springframework.osgi.context.support
Class OsgiBundleXmlApplicationContext
java.lang.Object
org.springframework.core.io.DefaultResourceLoader
org.springframework.context.support.AbstractApplicationContext
org.springframework.context.support.AbstractRefreshableApplicationContext
org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext
org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext
- All Implemented Interfaces:
- BeanFactory, DisposableBean, HierarchicalBeanFactory, ListableBeanFactory, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, ResourceLoader, ResourcePatternResolver, ConfigurableOsgiBundleApplicationContext, DelegatedExecutionOsgiBundleApplicationContext
- Direct Known Subclasses:
- OsgiBundleXmlWebApplicationContext
public class OsgiBundleXmlApplicationContext
- extends AbstractDelegatedExecutionApplicationContext
Stand-alone XML application context, backed by an OSGi bundle.
The configuration location defaults can be overridden via getDefaultConfigLocations()
. Note that
locations can either denote concrete files like /myfiles/context.xml
or Ant-style patterns like
/myfiles/*-context.xml
(see the AntPathMatcher
javadoc for pattern
details).
Note: In case of multiple configuration locations, later bean definitions will override ones
defined in earlier loaded files. This can be leveraged to deliberately override certain bean definitions via an extra
XML file.
This is the main ApplicationContext class for OSGi environments.
- Author:
- Adrian Colyer, Costin Leau, Andy Piper, Hal Hildebrand
Methods inherited from class org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext |
completeRefresh, doClose, getDelegatedEventMulticaster, getMonitor, invokeBeanFactoryPostProcessors, normalClose, normalRefresh, refresh, registerBeanPostProcessors, registerBeanPostProcessors, setContextClassLoaderProvider, setDelegatedEventMulticaster, setDelegatedEventMulticaster, setExecutor, startRefresh |
Methods inherited from class org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext |
createResourcePatternResolver, customizeApplicationContextServiceProperties, destroyBeans, finishRefresh, getBundle, getBundleContext, getClassLoader, getResource, getResourceByPath, getResourcePatternResolver, getResources, postProcessBeanFactory, prepareRefresh, setBundleContext, setClassLoader, setConfigLocations, setPublishContextAsService |
Methods inherited from class org.springframework.context.support.AbstractApplicationContext |
addApplicationListener, addBeanFactoryPostProcessor, addListener, cancelRefresh, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, finishBeanFactoryInitialization, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getDisplayName, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getStartupDate, getType, initApplicationEventMulticaster, initMessageSource, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, prepareBeanFactory, publishEvent, registerListeners, registerShutdownHook, setDisplayName, setId, setParent, start, stop, toString |
DEFAULT_CONFIG_LOCATION
public static final String DEFAULT_CONFIG_LOCATION
- Default config location for the root context(s)
- See Also:
- Constant Field Values
OsgiBundleXmlApplicationContext
public OsgiBundleXmlApplicationContext()
- Creates a new
OsgiBundleXmlApplicationContext
with no parent.
OsgiBundleXmlApplicationContext
public OsgiBundleXmlApplicationContext(ApplicationContext parent)
- Creates a new
OsgiBundleXmlApplicationContext
with the given parent context.
- Parameters:
parent
- the parent context
OsgiBundleXmlApplicationContext
public OsgiBundleXmlApplicationContext(String[] configLocations)
- Creates a new
OsgiBundleXmlApplicationContext
with the given configLocations.
- Parameters:
configLocations
- array of configuration resources
OsgiBundleXmlApplicationContext
public OsgiBundleXmlApplicationContext(String[] configLocations,
ApplicationContext parent)
- Creates a new
OsgiBundleXmlApplicationContext
with the given configLocations and parent context.
- Parameters:
configLocations
- array of configuration resourcesparent
- the parent context
loadBeanDefinitions
protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory)
throws IOException
-
Loads the bean definitions via an
XmlBeanDefinitionReader
.
- Overrides:
loadBeanDefinitions
in class AbstractDelegatedExecutionApplicationContext
- Throws:
IOException
initBeanDefinitionReader
protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader)
- Allows subclasses to do custom initialisation here.
- Parameters:
beanDefinitionReader
-
loadBeanDefinitions
protected void loadBeanDefinitions(XmlBeanDefinitionReader reader)
throws BeansException,
IOException
- Loads the bean definitions with the given
XmlBeanDefinitionReader
. The lifecycle of the bean
factory is handled by the refreshBeanFactory method; therefore this method is just supposed to load and/or
register bean definitions.
Delegates to a ResourcePatternResolver for resolving location patterns into
Resource instances.
- Throws:
BeansException
- in case of bean registration errors
IOException
- if the required XML document isn't found- See Also:
AbstractRefreshableApplicationContext.refreshBeanFactory()
,
getConfigLocations()
,
AbstractOsgiBundleApplicationContext.getResources(java.lang.String)
,
AbstractOsgiBundleApplicationContext.getResourcePatternResolver()
getDefaultConfigLocations
protected String[] getDefaultConfigLocations()
- Provide default locations for XML files. This implementation returns
META-INF/spring/*.xml
relying
on the default resource environment for actual localisation. By default, the bundle space will be used for
locating the resources.
Note: Instead of overriding this method, consider using the Spring-DM specific header
inside your manifest bundle.
- Overrides:
getDefaultConfigLocations
in class AbstractOsgiBundleApplicationContext
- Returns:
- default XML configuration locations
- See Also:
AbstractOsgiBundleApplicationContext.setConfigLocations(java.lang.String[])
getConfigLocations
public String[] getConfigLocations()
- Description copied from class:
AbstractOsgiBundleApplicationContext
- Returns this application context configuration locations. The default
implementation will check whether there are any locations configured and,
if not, will return the default locations.
- Overrides:
getConfigLocations
in class AbstractOsgiBundleApplicationContext
- Returns:
- application context configuration locations.
- See Also:
AbstractOsgiBundleApplicationContext.getDefaultConfigLocations()
Copyright © 2006-2009 Spring Framework. All Rights Reserved.