Class DefaultChildApplicationContextManager

java.lang.Object
org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean
org.alfresco.repo.management.subsystems.DefaultChildApplicationContextManager
All Implemented Interfaces:
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 Details

    • DefaultChildApplicationContextManager

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

    • setDefaultTypeName

      public void setDefaultTypeName(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(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>
    • getDescription

      public String getDescription(String name)
      Description copied from class: AbstractPropertyBackedBean
      Gets a Human readable description of the property, e.g. to provide via JMX.
      Specified by:
      getDescription in interface PropertyBackedBean
      Overrides:
      getDescription in class AbstractPropertyBackedBean
      Parameters:
      name - the name
      Returns:
      the description
    • 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.
    • createInitialState

      protected PropertyBackedBeanState createInitialState() throws IOException
      Description copied from class: AbstractPropertyBackedBean
      Creates the initial state.
      Specified by:
      createInitialState in class AbstractPropertyBackedBean
      Returns:
      the property backed bean state
      Throws:
      IOException - Signals that an I/O exception has occurred.
    • getInstanceIds

      public Collection<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(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
    • getChildApplicationContextFactory

      public ChildApplicationContextFactory getChildApplicationContextFactory(String id)