org.springframework.osgi.context
Interface DelegatedExecutionOsgiBundleApplicationContext

All Superinterfaces:
ApplicationContext, ApplicationEventPublisher, BeanFactory, ConfigurableApplicationContext, ConfigurableOsgiBundleApplicationContext, HierarchicalBeanFactory, Lifecycle, ListableBeanFactory, MessageSource, ResourceLoader, ResourcePatternResolver
All Known Implementing Classes:
AbstractDelegatedExecutionApplicationContext, OsgiBundleXmlApplicationContext, OsgiBundleXmlWebApplicationContext

public interface DelegatedExecutionOsgiBundleApplicationContext
extends ConfigurableOsgiBundleApplicationContext

Interface that redirect the application context crucial methods to a third party executor to allow the initialization to be executed in stages. The interface splits the refresh method in two parts: startRefresh() and completeRefresh().

Note: This interface is intended for usage only inside Spring-DM framework. Relying on this interface is highly discouraged.

Author:
Costin Leau
See Also:
DependencyAwareBeanFactoryPostProcessor, DependencyInitializationAwareBeanPostProcessor

Field Summary
 
Fields inherited from interface org.springframework.osgi.context.ConfigurableOsgiBundleApplicationContext
APPLICATION_CONTEXT_SERVICE_PROPERTY_NAME, BUNDLE_CONTEXT_BEAN_NAME
 
Fields inherited from interface org.springframework.context.ConfigurableApplicationContext
CONFIG_LOCATION_DELIMITERS, LOAD_TIME_WEAVER_BEAN_NAME
 
Fields inherited from interface org.springframework.beans.factory.BeanFactory
FACTORY_BEAN_PREFIX
 
Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver
CLASSPATH_ALL_URL_PREFIX
 
Fields inherited from interface org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIX
 
Method Summary
 void completeRefresh()
          The second, last phase of the refresh.
 OsgiBundleApplicationContextEventMulticaster getDelegatedEventMulticaster()
          Returns the OSGi event multicaster (if any) associated with this application context.
 Object getMonitor()
          Deprecated. any synchronization should be performed internally by the application context. This method will be removed w/o a replacement in future releases.
 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 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.
 
Methods inherited from interface org.springframework.osgi.context.ConfigurableOsgiBundleApplicationContext
getBundle, getBundleContext, setBundleContext, setConfigLocations, setPublishContextAsService
 
Methods inherited from interface org.springframework.context.ConfigurableApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, close, getBeanFactory, isActive, refresh, registerShutdownHook, setParent
 
Methods inherited from interface org.springframework.context.ApplicationContext
getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
 
Methods inherited from interface org.springframework.beans.factory.ListableBeanFactory
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType
 
Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory
containsLocalBean, getParentBeanFactory
 
Methods inherited from interface org.springframework.beans.factory.BeanFactory
containsBean, getAliases, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch
 
Methods inherited from interface org.springframework.context.MessageSource
getMessage, getMessage, getMessage
 
Methods inherited from interface org.springframework.context.ApplicationEventPublisher
publishEvent
 
Methods inherited from interface org.springframework.core.io.support.ResourcePatternResolver
getResources
 
Methods inherited from interface org.springframework.core.io.ResourceLoader
getClassLoader, getResource
 
Methods inherited from interface org.springframework.context.Lifecycle
isRunning, start, stop
 

Method Detail

normalRefresh

void normalRefresh()
Non-delegated refresh operation (execute ConfigurableApplicationContext.refresh() in the traditional way).

See Also:
ConfigurableApplicationContext.refresh()

normalClose

void normalClose()
Non-delegated close operation (execute ConfigurableApplicationContext.close() in the traditional way).

See Also:
ConfigurableApplicationContext.close()

startRefresh

void startRefresh()
First phase of the refresh. Normally, this just prepares the beanFactory but does not instantiates any beans.


completeRefresh

void completeRefresh()
The second, last phase of the refresh. Executes after a certain condition, imposed by the executor, has been met. Finishes the rest of the refresh operation. Normally, this operations performs most of the refresh work, such as instantiating singletons.


setExecutor

void setExecutor(OsgiBundleApplicationContextExecutor executor)
Assigns the OsgiBundleApplicationContextExecutor for this delegated context.

Parameters:
executor - the executor of this application context, to which the refresh method is delegated to

getMonitor

Object getMonitor()
Deprecated. any synchronization should be performed internally by the application context. This method will be removed w/o a replacement in future releases.

Synchronization monitor for this ApplicationContext in case multiple threads can work with the application context lifecycle.

Returns:
monitor for this application context

setDelegatedEventMulticaster

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. 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.

Parameters:
multicaster - the application multicaster used for sending events triggered by the delegated execution.
See Also:
OsgiBundleApplicationContextEvent

getDelegatedEventMulticaster

OsgiBundleApplicationContextEventMulticaster getDelegatedEventMulticaster()
Returns the OSGi event multicaster (if any) associated with this application context.

Returns:
the OSGi event multicaster associated with this context


Copyright © 2006-2009 Spring Framework. All Rights Reserved.