Class DefaultChildApplicationContextManager

  • All Implemented Interfaces:
    java.util.EventListener, ChildApplicationContextManager, PropertyBackedBean, PropertyBackedBeanState, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent>

    public class DefaultChildApplicationContextManager
    extends AbstractPropertyBackedBean
    implements ChildApplicationContextManager
    A default ChildApplicationContextManager implementation that manages a 'chain' of ChildApplicationContextFactory objects, perhaps corresponding to the components of a chained subsystem such as authentication. As with other PropertyBackedBeans, can be stopped, reconfigured, started and tested. Its one special chain property allows an ordered list of ChildApplicationContextFactory objects to be managed. This property is a comma separated list with the format:
    • <id1>:<typeName1>,<id2>:<typeName2>,...,<idn>:<typeNamen>
    See ChildApplicationContextManager for the meanings of <id> and <typeName>. In the enterprise edition, this property is editable at runtime via JMX. If a new <id> is included in the list then a new ChildApplicationContextFactory will be brought into existence. Similarly, if one is removed from the list, then the corresponding instance will be destroyed. For Alfresco community edition, the chain is best configured through the method via Spring configuration.
    Author:
    dward
    • Constructor Detail

      • DefaultChildApplicationContextManager

        public DefaultChildApplicationContextManager()
        Instantiates a new default child application context manager.
    • Method Detail

      • setDefaultTypeName

        public void setDefaultTypeName​(java.lang.String defaultTypeName)
        Sets the default type name. This is used when a type name is not included after an instance ID in a chain string.
        Parameters:
        defaultTypeName - the new default type name
      • setDefaultChain

        public void setDefaultChain​(java.lang.String defaultChain)
        Configures the default chain of ChildApplicationContextFactory instances. May be set on initialization by the Spring container.
        Parameters:
        defaultChain - a comma separated list in the following format:
        • <id1>:<typeName1>,<id2>:<typeName2>,...,<idn>:<typeNamen>
      • destroy

        public void destroy​(boolean permanent)
        Description copied from class: AbstractPropertyBackedBean
        Releases any resources held by this component.
        Overrides:
        destroy in class AbstractPropertyBackedBean
        Parameters:
        permanent - is the component being destroyed forever, i.e. should persisted values be removed? On server shutdown, this value would be false, whereas on the removal of a dynamically created instance, this value would be true.
      • getInstanceIds

        public java.util.Collection<java.lang.String> getInstanceIds()
        Description copied from interface: ChildApplicationContextManager
        Gets the ordered collection of identifiers, indicating the ordering of the chain.
        Specified by:
        getInstanceIds in interface ChildApplicationContextManager
        Returns:
        an ordered collection of identifiers, indicating the ordering of the chain.
      • getApplicationContext

        public org.springframework.context.ApplicationContext getApplicationContext​(java.lang.String id)
        Description copied from interface: ChildApplicationContextManager
        Gets the application context with the given identifier.
        Specified by:
        getApplicationContext in interface ChildApplicationContextManager
        Parameters:
        id - the identifier of the application context to retrieve
        Returns:
        the application context with the given identifier or null if it does not exist