public abstract class AbstractDelegatedExecutionApplicationContext extends AbstractOsgiBundleApplicationContext implements DelegatedExecutionOsgiBundleApplicationContext
refresh()
and AbstractApplicationContext.close()
methods delegate their execution to an
OsgiBundleApplicationContextExecutor
class that chooses how to call the lifecycle methods. One
can still call the 'traditional' lifecycle methods through normalRefresh()
and normalClose()
.DelegatedExecutionOsgiBundleApplicationContext
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
APPLICATION_CONTEXT_SERVICE_PROPERTY_NAME, BUNDLE_BEAN_NAME, BUNDLE_CONTEXT_BEAN_NAME, SPRING_DM_APPLICATION_CONTEXT_SERVICE_PROPERTY_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 |
---|
AbstractDelegatedExecutionApplicationContext()
Constructs a new
AbstractDelegatedExecutionApplicationContext instance. |
AbstractDelegatedExecutionApplicationContext(org.springframework.context.ApplicationContext parent)
Constructs a new
AbstractDelegatedExecutionApplicationContext instance. |
Modifier and Type | Method and Description |
---|---|
void |
completeRefresh()
The second, last phase of the refresh.
|
protected void |
doClose()
Unregister the ApplicationContext OSGi service (in case there is any).
|
OsgiBundleApplicationContextEventMulticaster |
getDelegatedEventMulticaster()
Returns the OSGi event multicaster (if any) associated with this
application context.
|
protected void |
invokeBeanFactoryPostProcessors(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory) |
protected void |
loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory) |
void |
normalClose()
Non-delegated close operation (execute
ConfigurableApplicationContext.close() in the
traditional way). |
void |
normalRefresh()
Non-delegated refresh operation (execute
ConfigurableApplicationContext.refresh() in the
traditional way). |
void |
refresh()
Delegate execution of refresh method to a third party.
|
protected void |
registerBeanPostProcessors(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory) |
protected void |
registerBeanPostProcessors(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory,
Class<?> type,
Class<?> exclude,
boolean check)
Instantiate and invoke all registered BeanPostProcessor beans, respecting explicit order if given.
|
void |
setContextClassLoaderProvider(ContextClassLoaderProvider contextClassLoaderProvider)
Sets the
ContextClassLoaderProvider used by this OSGi application context instance. |
void |
setDelegatedEventMulticaster(org.springframework.context.event.ApplicationEventMulticaster multicaster)
Sets the OSGi multicaster by using a Spring
ApplicationEventMulticaster . |
void |
setDelegatedEventMulticaster(OsgiBundleApplicationContextEventMulticaster multicaster)
Allows a delegated
OsgiBundleApplicationContextEventMulticaster ,
external to the application context, to be used for sending OSGi
application context events regarding the application context life cycle. |
void |
setExecutor(OsgiBundleApplicationContextExecutor executor)
Assigns the
OsgiBundleApplicationContextExecutor for this
delegated context. |
void |
startRefresh()
First phase of the refresh.
|
createResourcePatternResolver, customizeApplicationContextServiceProperties, destroyBeans, finishRefresh, getBundle, getBundleContext, getClassLoader, getConfigLocations, getDefaultConfigLocations, getResource, getResourceByPath, getResourcePatternResolver, getResources, postProcessBeanFactory, prepareRefresh, setBundleContext, setClassLoader, setConfigLocations, setPublishContextAsService
cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences
addApplicationListener, addBeanFactoryPostProcessor, addListener, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroy, findAnnotationOnBean, finishBeanFactoryInitialization, getAliases, getApplicationListeners, getApplicationName, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, prepareBeanFactory, publishEvent, registerListeners, registerShutdownHook, setDisplayName, setEnvironment, setId, setParent, start, stop, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getBundle, getBundleContext, setBundleContext, setConfigLocations, setPublishContextAsService
addApplicationListener, addBeanFactoryPostProcessor, close, getBeanFactory, getEnvironment, isActive, registerShutdownHook, setEnvironment, setId, setParent
getApplicationName, getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation
containsLocalBean, getParentBeanFactory
containsBean, getAliases, getBean, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch
getMessage, getMessage, getMessage
getResources
public AbstractDelegatedExecutionApplicationContext()
AbstractDelegatedExecutionApplicationContext
instance.public AbstractDelegatedExecutionApplicationContext(org.springframework.context.ApplicationContext parent)
AbstractDelegatedExecutionApplicationContext
instance.parent
- parent application contextpublic void refresh() throws org.springframework.beans.BeansException, IllegalStateException
refresh
in interface org.springframework.context.ConfigurableApplicationContext
refresh
in class org.springframework.context.support.AbstractApplicationContext
org.springframework.beans.BeansException
IllegalStateException
public void normalRefresh()
DelegatedExecutionOsgiBundleApplicationContext
ConfigurableApplicationContext.refresh()
in the
traditional way).normalRefresh
in interface DelegatedExecutionOsgiBundleApplicationContext
ConfigurableApplicationContext.refresh()
public void normalClose()
DelegatedExecutionOsgiBundleApplicationContext
ConfigurableApplicationContext.close()
in the
traditional way).normalClose
in interface DelegatedExecutionOsgiBundleApplicationContext
ConfigurableApplicationContext.close()
protected void doClose()
AbstractOsgiBundleApplicationContext
doClose
in class AbstractOsgiBundleApplicationContext
public void startRefresh()
DelegatedExecutionOsgiBundleApplicationContext
beanFactory
but does not instantiates any beans.startRefresh
in interface DelegatedExecutionOsgiBundleApplicationContext
public void completeRefresh()
DelegatedExecutionOsgiBundleApplicationContext
refresh
operation. Normally, this operations performs
most of the refresh work
, such as instantiating
singletons.completeRefresh
in interface DelegatedExecutionOsgiBundleApplicationContext
protected void invokeBeanFactoryPostProcessors(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
invokeBeanFactoryPostProcessors
in class org.springframework.context.support.AbstractApplicationContext
protected void registerBeanPostProcessors(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
registerBeanPostProcessors
in class org.springframework.context.support.AbstractApplicationContext
protected void registerBeanPostProcessors(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory, Class<?> type, Class<?> exclude, boolean check)
AbstractApplicationContext.invokeBeanFactoryPostProcessors(org.springframework.beans.factory.config.ConfigurableListableBeanFactory)
but allowing exclusion of a certain type.public void setExecutor(OsgiBundleApplicationContextExecutor executor)
DelegatedExecutionOsgiBundleApplicationContext
OsgiBundleApplicationContextExecutor
for this
delegated context.setExecutor
in interface DelegatedExecutionOsgiBundleApplicationContext
executor
- the executor of this application context, to which the
refresh
method is delegated toprotected void loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory) throws IOException, org.springframework.beans.BeansException
loadBeanDefinitions
in class org.springframework.context.support.AbstractRefreshableApplicationContext
IOException
org.springframework.beans.BeansException
public void setDelegatedEventMulticaster(OsgiBundleApplicationContextEventMulticaster multicaster)
DelegatedExecutionOsgiBundleApplicationContext
OsgiBundleApplicationContextEventMulticaster
,
external to the application context, to be used for sending OSGi
application context events regarding the application context life cycle.
This method is mainly intended for monitoring the context lifecycle by
third parties (such as the OSGi extender). It's up to the implementation
to decide whether this setter method is required or not.setDelegatedEventMulticaster
in interface DelegatedExecutionOsgiBundleApplicationContext
multicaster
- the application multicaster used for sending events
triggered by the delegated execution.OsgiBundleApplicationContextEvent
public void setDelegatedEventMulticaster(org.springframework.context.event.ApplicationEventMulticaster multicaster)
ApplicationEventMulticaster
. This method is added as a
covenience.multicaster
- Spring multi-caster used for propagating OSGi specific eventsOsgiBundleApplicationContextEventMulticasterAdapter
public OsgiBundleApplicationContextEventMulticaster getDelegatedEventMulticaster()
DelegatedExecutionOsgiBundleApplicationContext
getDelegatedEventMulticaster
in interface DelegatedExecutionOsgiBundleApplicationContext
public void setContextClassLoaderProvider(ContextClassLoaderProvider contextClassLoaderProvider)
ContextClassLoaderProvider
used by this OSGi application context instance. By default,
DefaultContextClassLoaderProvider
is used.contextClassLoaderProvider
- context class loader provider to useContextClassLoaderProvider
,
DefaultContextClassLoaderProvider
Copyright © 2006–2016. All rights reserved.