Package org.alfresco.util
Class BaseApplicationContextHelper
- java.lang.Object
-
- org.alfresco.util.BaseApplicationContextHelper
-
- Direct Known Subclasses:
DataModelTestApplicationContextHelper
public abstract class BaseApplicationContextHelper extends Object
Helper class to provide static and common access to the Springapplication context
.- Author:
- Derek Hulley
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BaseApplicationContextHelper.ResourceFinder
Can be used in Spring configuration to search for all resources matching an array of patterns.protected static class
BaseApplicationContextHelper.VariableFeatureClassPathXmlApplicationContext
A wrapper aroundClassPathXmlApplicationContext
which allows us to enable lazy loading or prevent Subsystem autostart as requested.
-
Constructor Summary
Constructors Constructor Description BaseApplicationContextHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ClassLoader
buildClassLoader(String[] classLocations)
Build a classloader for the given classLocations, using the thread's context class loader as its parent.static void
closeApplicationContext()
Closes and releases the application context.static org.springframework.context.ApplicationContext
getApplicationContext(String[] configLocations)
static org.springframework.context.ApplicationContext
getApplicationContext(String[] configLocations, String[] classLocations)
Provides a static, single instance of the application context.static boolean
isContextLoaded()
Is there currently a context loaded and cached?static boolean
isNoAutoStart()
Will Subsystems with the autoStart=true property set on them be allowed to auto start? The default is to honour the spring configuration and allow them to, but they can be prevented if required.static boolean
isUsingLazyLoading()
Will the Spring beans be initilised in a lazy manner, or all in one go? The default it to load everything in one go, as spring normally does.static void
setNoAutoStart(boolean noAutoStart)
Should the autoStart=true property on subsystems be honoured, or should this property be ignored and the auto start prevented? Normally we will use the spring configuration to decide what to start, but when running tests, you can use this to prevent the auto start.static void
setUseLazyLoading(boolean lazyLoading)
Should the Spring beans be initilised in a lazy manner, or all in one go? Normally lazy loading/intialising shouldn't be used when running with the full context, but it may be appropriate to reduce startup times when using a small, cut down context.
-
-
-
Method Detail
-
getApplicationContext
public static org.springframework.context.ApplicationContext getApplicationContext(String[] configLocations)
-
buildClassLoader
public static ClassLoader buildClassLoader(String[] classLocations) throws IOException
Build a classloader for the given classLocations, using the thread's context class loader as its parent.- Parameters:
classLocations
- String[]- Returns:
- ClassLoader
- Throws:
IOException
-
getApplicationContext
public static org.springframework.context.ApplicationContext getApplicationContext(String[] configLocations, String[] classLocations) throws IOException
Provides a static, single instance of the application context. This method can be called repeatedly. If the configuration requested differs from one used previously, then the previously-created context is shut down.- Returns:
- Returns an application context for the given configuration
- Throws:
IOException
-
closeApplicationContext
public static void closeApplicationContext()
Closes and releases the application context. On the next call togetApplicationContext(String[])
, a new context will be given.
-
setUseLazyLoading
public static void setUseLazyLoading(boolean lazyLoading)
Should the Spring beans be initilised in a lazy manner, or all in one go? Normally lazy loading/intialising shouldn't be used when running with the full context, but it may be appropriate to reduce startup times when using a small, cut down context.
-
isUsingLazyLoading
public static boolean isUsingLazyLoading()
Will the Spring beans be initilised in a lazy manner, or all in one go? The default it to load everything in one go, as spring normally does.
-
setNoAutoStart
public static void setNoAutoStart(boolean noAutoStart)
Should the autoStart=true property on subsystems be honoured, or should this property be ignored and the auto start prevented? Normally we will use the spring configuration to decide what to start, but when running tests, you can use this to prevent the auto start.
-
isNoAutoStart
public static boolean isNoAutoStart()
Will Subsystems with the autoStart=true property set on them be allowed to auto start? The default is to honour the spring configuration and allow them to, but they can be prevented if required.
-
isContextLoaded
public static boolean isContextLoaded()
Is there currently a context loaded and cached?
-
-