Class SpringContextUtils


  • public class SpringContextUtils
    extends Object
    Methods to create Spring contexts for Gemma manually. This is meant to be used by CLIs only.
    Author:
    pavlidis
    • Constructor Detail

      • SpringContextUtils

        public SpringContextUtils()
    • Method Detail

      • getApplicationContext

        public static org.springframework.context.ApplicationContext getApplicationContext​(String[] activeProfiles,
                                                                                           String... additionalConfigurationLocations)
                                                                                    throws org.springframework.beans.BeansException
        Obtain an application context for Gemma.
        Parameters:
        activeProfiles - list of active profiles, for testing use EnvironmentProfiles.TEST
        additionalConfigurationLocations - a list of additional configuration location to load beans from
        Returns:
        a fully initialized ApplicationContext
        Throws:
        org.springframework.beans.BeansException - if the creation of the context fails
      • getApplicationContext

        @Deprecated
        public static org.springframework.context.ApplicationContext getApplicationContext​(boolean testing,
                                                                                           boolean isWebApp,
                                                                                           String[] additionalConfigurationLocations)
                                                                                    throws org.springframework.beans.BeansException
        Deprecated.
        this method does not support producing Gemma Web contexts, please migrate existing code to use getApplicationContext(String[], String...) instead.
        Parameters:
        isWebApp - If true, a UnsupportedOperationException will be raised since retrieving the Web application context is not supported from here. Use WebApplicationContextUtils.getWebApplicationContext() instead. This is only kept for backward-compatibility with external scripts.
        Throws:
        org.springframework.beans.BeansException
        See Also:
        getApplicationContext(String[], String...)
      • prepareContext

        public static void prepareContext​(org.springframework.context.ApplicationContext context)
        Prepare a given context for prime time.

        Perform the following steps:

        • ensure that the security context holder strategy is set to SecurityContextHolder.MODE_INHERITABLETHREADLOCAL
        • activate the dev profile as a fallback if no profile are active
        • activate the scheduler profile if quartzOn is set
        • verify that exactly one environment profile is active (see EnvironmentProfiles)
        • log an informative message with the context version and active profiles