List of usage examples for org.springframework.context ConfigurableApplicationContext close
@Override
void close();
From source file:org.alfresco.repo.model.filefolder.FileFolderPerformanceTester.java
/** * Create a bunch of files and folders in a folder and then run multi-threaded directory * listings against it.//from www. j a v a2s . c o m * * @param args <x> <y> where 'x' is the number of files in a folder and 'y' is the * number of threads to list */ public static void main(String... args) { ConfigurableApplicationContext ctx = (ConfigurableApplicationContext) ApplicationContextHelper .getApplicationContext(); try { run(ctx, args); } catch (Throwable e) { System.out.println("Failed to run FileFolder performance test"); e.printStackTrace(); } finally { ctx.close(); } }
From source file:org.apereo.portal.utils.PortalApplicationContextLocator.java
/** * If the ApplicationContext returned by {@link #getApplicationContext()} is 'portal managed' the shutdown hook * for the context is called, closing and cleaning up all spring managed resources. * * If the ApplicationContext returned by {@link #getApplicationContext()} is actually a WebApplicationContext * this method does nothing but log an error message. *///from ww w.ja va 2s .c o m public static void shutdown() { if (applicationContextCreator.isCreated()) { final ConfigurableApplicationContext applicationContext = applicationContextCreator.get(); applicationContext.close(); } else { final IllegalStateException createException = new IllegalStateException( "No portal managed ApplicationContext has been created, there is nothing to shutdown."); getLogger().error(createException, createException); } }
From source file:org.codehaus.groovy.grails.web.context.GrailsContextLoader.java
@Override public void closeWebApplicationContext(ServletContext servletContext) { // clean up in war mode, in run-app these references may be needed again if (application == null || !application.isWarDeployed()) { return;// w ww . ja va 2 s. c o m } WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext); ConfigurableApplicationContext parent = ctx != null ? (ConfigurableApplicationContext) ctx.getParent() : null; try { super.closeWebApplicationContext(servletContext); } finally { ShutdownOperations.runOperations(); } if (parent != null) { LOG.info("Destroying Spring parent WebApplicationContext " + parent.getDisplayName()); parent.close(); } try { Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); } catch (AccessControlException e) { // container doesn't allow, probably related to WAR deployment on AppEngine. proceed. } application = null; }
From source file:org.flockdata.client.CommandRunner.java
public static void main(String[] args) { SpringApplication app;/*from w w w .j a va 2 s. com*/ // System.out.print(ArrayUtils.toString(args)); if (ArrayUtils.contains(args, "import")) { app = new SpringApplication(Importer.class); app.setAdditionalProfiles("fd-importer"); } else if (ArrayUtils.contains(args, "register")) { app = new SpringApplication(Register.class); app.setAdditionalProfiles("fd-register"); } else if (ArrayUtils.contains(args, "ping")) { app = new SpringApplication(PingRunner.class); app.setAdditionalProfiles("fd-ping"); } else if (ArrayUtils.contains(args, "health")) { app = new SpringApplication(HealthRunner.class); app.setAdditionalProfiles("fd-health"); } else { System.out.println(""); System.out.println("Commands supported are import and register"); System.exit(1); return; } app.setWebEnvironment(false); app.setBannerMode(Banner.Mode.OFF); // launch the app ConfigurableApplicationContext context = app.run(args); // finished so close the context context.close(); System.exit(0); }
From source file:org.impalaframework.spring.module.loader.BaseApplicationContextLoader.java
/** * If {@link ApplicationContext} is an instance of * {@link ConfigurableApplicationContext}, then calls * {@link ConfigurableApplicationContext#close()}. Also, prior to this, if * module is associated with {@link SpringModuleLoader}, then * {@link SpringModuleLoader#beforeClose(String, ApplicationContext, ModuleDefinition)} * is called./*from w ww.j av a 2s. c o m*/ */ public void closeContext(String applicationId, ModuleDefinition moduleDefinition, ApplicationContext applicationContext) { Assert.notNull(moduleLoaderRegistry, ModuleLoaderRegistry.class.getName() + " cannot be null"); final ModuleLoader loader = moduleLoaderRegistry .getModuleLoader(ModuleRuntimeUtils.getModuleLoaderKey(moduleDefinition), false); if (loader instanceof SpringModuleLoader) { SpringModuleLoader springModuleLoader = (SpringModuleLoader) loader; springModuleLoader.beforeClose(applicationId, applicationContext, moduleDefinition); } if (applicationContext instanceof ConfigurableApplicationContext) { ConfigurableApplicationContext configurableContext = (ConfigurableApplicationContext) applicationContext; configurableContext.close(); } }
From source file:org.jasig.portal.spring.PortalApplicationContextLocator.java
/** * If the ApplicationContext returned by {@link #getApplicationContext()} is 'portal managed' the shutdown hook * for the context is called, closing and cleaning up all spring managed resources. * * If the ApplicationContext returned by {@link #getApplicationContext()} is actually a WebApplicationContext * this method does nothing but log an error message. *///from w w w. j a va 2s. c o m public static void shutdown() { Log logger = LogFactory.getLog(LOGGER_NAME); if (applicationContextCreator.isCreated()) { final ConfigurableApplicationContext applicationContext = applicationContextCreator.get(); applicationContext.close(); } else { final IllegalStateException createException = new IllegalStateException( "No portal managed ApplicationContext has been created, there is nothing to shutdown."); logger.error(createException, createException); } }
From source file:org.kuali.student.common.test.spring.AbstractTransactionalDaoTest.java
/** * Loads the application context defined in the @Dao testDataFile * attribute. Then uses the EntityManager em to persist the beans in * persistList// w ww . j av a2 s .c o m */ @Before public void preLoadBeans() { for (Field f : this.getClass().getDeclaredFields()) { if (f.isAnnotationPresent(Dao.class)) { Dao dao = f.getAnnotation(Dao.class); if (dao.testDataFile().length() > 0) { ConfigurableApplicationContext ac = new FileSystemXmlApplicationContext(dao.testDataFile()); List<?> persistList = (List<?>) ac.getBean("persistList"); ac.close(); for (Object o : persistList) { em.persist(o); } em.flush(); } } } }
From source file:org.kuali.student.common.test.spring.LoadDataBean.java
public void loadData() { if (daoAnnotations == null || loaded || daoAnnotations.trim().isEmpty()) { return;//w ww. jav a 2s . c om } // Load all the beans String[] classes = daoAnnotations.split(","); for (String line : classes) { try { String[] split = line.split("\\|"); // Invoke the data loader for this dao invokeDataLoader(split[0]); // Load data bean file for this dao if (split.length > 1 && !split[1].isEmpty()) { String testDataFile = split[1]; ConfigurableApplicationContext ac = new FileSystemXmlApplicationContext(testDataFile); List<?> persistList = (List<?>) ac.getBean("persistList"); ac.close(); for (Object bean : persistList) { if (!em.contains(bean)) { em.persist(bean); } } } // Load sql file for this dao if (split.length > 2 && !split[2].isEmpty()) { String testDataFile = split[2]; File sqlFile; if (testDataFile.startsWith("classpath:")) { sqlFile = new ClassPathResource(testDataFile.substring("classpath:".length())).getFile(); } else { sqlFile = new File(testDataFile); } BufferedReader in = new BufferedReader(new FileReader(sqlFile)); try { String ln = ""; int lnNr = 0; try { while ((ln = in.readLine()) != null) { lnNr++; if (!ln.startsWith("/") && !ln.startsWith("--") && StringUtils.isNotBlank(ln)) { ln = ln.replaceFirst("[;/]\\s*$", ""); em.createNativeQuery(ln).executeUpdate(); } } } catch (PersistenceException e) { LOG.error("Failed statement at line " + lnNr + ": " + ln); throw e; } } finally { in.close(); } } } catch (Exception e) { throw new RuntimeException(e); } } loaded = true; }
From source file:org.kuali.student.r2.common.datadictionary.util.TestBaseValidCharsDictionary.java
@Test public void testValidCharsConstraints() { System.out.println("testing base dictionary"); String contextFile = "ks-base-dictionary-validchars.xml"; ConfigurableApplicationContext ac = new ClassPathXmlApplicationContext("classpath:" + contextFile); Map<String, ValidCharactersConstraint> vccs = (Map<String, ValidCharactersConstraint>) ac .getBeansOfType(ValidCharactersConstraint.class); ac.close(); for (String id : vccs.keySet()) { ValidCharactersConstraint vcc = vccs.get(id); System.out.println("valid chars constraint: " + id + " " + vcc.getMessageKey() + " " + vcc.getValue()); }/* www . j a va 2 s . co m*/ String id = null; ValidCharactersConstraint vc = null; ValidCharactersConstraintProcessor vccp = new ValidCharactersConstraintProcessor(); id = "AlphanumericHyphenPeriod"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "1")); assertNull(test(vccp, vc, "A")); assertNull(test(vccp, vc, ".")); assertNull(test(vccp, vc, "-")); assertNotNull(test(vccp, vc, " ")); assertNotNull(test(vccp, vc, ",")); assertNotNull(test(vccp, vc, "\n")); assertNotNull(test(vccp, vc, "\r")); assertNotNull(test(vccp, vc, "\t")); id = "Digits"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "1")); assertNotNull(test(vccp, vc, "A")); assertNotNull(test(vccp, vc, ".")); assertNotNull(test(vccp, vc, "-")); assertNotNull(test(vccp, vc, " ")); assertNotNull(test(vccp, vc, ",")); assertNotNull(test(vccp, vc, "\n")); assertNotNull(test(vccp, vc, "\r")); assertNotNull(test(vccp, vc, "\t")); id = "Numeric"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "0")); assertNull(test(vccp, vc, "1")); assertNull(test(vccp, vc, "20")); assertNull(test(vccp, vc, "-20")); assertNull(test(vccp, vc, "-12345620")); assertNull(test(vccp, vc, "20.1")); assertNull(test(vccp, vc, "20.0")); assertNull(test(vccp, vc, "20.01")); assertNull(test(vccp, vc, "20.00")); assertNull(test(vccp, vc, "120.00")); assertNull(test(vccp, vc, "1120.00")); assertNull(test(vccp, vc, "11120.00")); assertNull(test(vccp, vc, "111120.00")); assertNull(test(vccp, vc, "1111120.00")); assertNull(test(vccp, vc, "11111120.00")); assertNotNull(test(vccp, vc, "020")); assertNotNull(test(vccp, vc, "-020")); assertNotNull(test(vccp, vc, "-020.1")); assertNotNull(test(vccp, vc, "20.010")); assertNotNull(test(vccp, vc, "20.011")); assertNotNull(test(vccp, vc, "A")); assertNotNull(test(vccp, vc, ".")); assertNotNull(test(vccp, vc, "-")); assertNotNull(test(vccp, vc, " ")); assertNotNull(test(vccp, vc, ",")); assertNotNull(test(vccp, vc, "\n")); assertNotNull(test(vccp, vc, "\r")); assertNotNull(test(vccp, vc, "\t")); id = "Numeric.range"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "0")); assertNull(test(vccp, vc, "1")); assertNull(test(vccp, vc, "20")); assertNull(test(vccp, vc, "-20")); assertNull(test(vccp, vc, "-12345620")); assertNull(test(vccp, vc, "20.1")); assertNull(test(vccp, vc, "20.0")); assertNull(test(vccp, vc, "20.01")); assertNull(test(vccp, vc, "20.00")); assertNull(test(vccp, vc, "120.00")); assertNull(test(vccp, vc, "1120.00")); assertNull(test(vccp, vc, "11120.00")); assertNull(test(vccp, vc, "111120.00")); assertNull(test(vccp, vc, "1111120.00")); assertNull(test(vccp, vc, "11111120.00")); assertNull(test(vccp, vc, "1-2")); assertNull(test(vccp, vc, "1.1-2.2")); assertNull(test(vccp, vc, "1 - 2")); assertNull(test(vccp, vc, "1--2")); assertNull(test(vccp, vc, "1 - -2")); assertNull(test(vccp, vc, "-1 - -2")); assertNotNull(test(vccp, vc, "1 -2")); assertNotNull(test(vccp, vc, "1 - 2 - 3")); assertNotNull(test(vccp, vc, "1- 2")); assertNotNull(test(vccp, vc, "020")); assertNotNull(test(vccp, vc, "-020")); assertNotNull(test(vccp, vc, "-020.1")); assertNotNull(test(vccp, vc, "20.010")); assertNotNull(test(vccp, vc, "20.011")); assertNotNull(test(vccp, vc, "A")); assertNotNull(test(vccp, vc, ".")); assertNotNull(test(vccp, vc, "-")); assertNotNull(test(vccp, vc, " ")); assertNotNull(test(vccp, vc, ",")); assertNotNull(test(vccp, vc, "\n")); assertNotNull(test(vccp, vc, "\r")); assertNotNull(test(vccp, vc, "\t")); id = "Positive.numeric.range"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "0")); assertNull(test(vccp, vc, "1")); assertNull(test(vccp, vc, "20")); assertNotNull(test(vccp, vc, "-20")); assertNotNull(test(vccp, vc, "-12345620")); assertNull(test(vccp, vc, "20.1")); assertNull(test(vccp, vc, "20.0")); assertNull(test(vccp, vc, "20.01")); assertNull(test(vccp, vc, "20.00")); assertNull(test(vccp, vc, "120.00")); assertNull(test(vccp, vc, "1120.00")); assertNull(test(vccp, vc, "11120.00")); assertNull(test(vccp, vc, "111120.00")); assertNull(test(vccp, vc, "1111120.00")); assertNull(test(vccp, vc, "11111120.00")); assertNull(test(vccp, vc, "1-2")); assertNull(test(vccp, vc, "1.1-2.2")); assertNull(test(vccp, vc, "1 - 2")); assertNotNull(test(vccp, vc, "1--2")); assertNotNull(test(vccp, vc, "1 - -2")); assertNotNull(test(vccp, vc, "-1 - -2")); assertNotNull(test(vccp, vc, "1 -2")); assertNotNull(test(vccp, vc, "1 - 2 - 3")); assertNotNull(test(vccp, vc, "1- 2")); assertNotNull(test(vccp, vc, "020")); assertNotNull(test(vccp, vc, "-020")); assertNotNull(test(vccp, vc, "-020.1")); assertNotNull(test(vccp, vc, "20.010")); assertNotNull(test(vccp, vc, "20.011")); assertNotNull(test(vccp, vc, "A")); assertNotNull(test(vccp, vc, ".")); assertNotNull(test(vccp, vc, "-")); assertNotNull(test(vccp, vc, " ")); assertNotNull(test(vccp, vc, ",")); assertNotNull(test(vccp, vc, "\n")); assertNotNull(test(vccp, vc, "\r")); assertNotNull(test(vccp, vc, "\t")); id = "Gpa4.0"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "0.0")); assertNull(test(vccp, vc, "4.0")); assertNull(test(vccp, vc, "4.1")); assertNotNull(test(vccp, vc, "1")); assertNull(test(vccp, vc, "1.0")); assertNull(test(vccp, vc, "0.1")); assertNotNull(test(vccp, vc, "\n")); assertNotNull(test(vccp, vc, "\r")); assertNotNull(test(vccp, vc, "\t")); id = "Positive.integer"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "1")); assertNull(test(vccp, vc, "22")); assertNull(test(vccp, vc, "33")); assertNotNull(test(vccp, vc, "0")); assertNotNull(test(vccp, vc, "1.0")); assertNotNull(test(vccp, vc, "-1")); assertNotNull(test(vccp, vc, "\n")); assertNotNull(test(vccp, vc, "\r")); assertNotNull(test(vccp, vc, "\t")); id = "RelationalOperator"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "=")); assertNull(test(vccp, vc, ">")); assertNull(test(vccp, vc, "<")); assertNull(test(vccp, vc, ">=")); assertNull(test(vccp, vc, "<=")); assertNull(test(vccp, vc, "<>")); assertNotNull(test(vccp, vc, "!=")); assertNotNull(test(vccp, vc, "=>")); assertNotNull(test(vccp, vc, "=<")); assertNotNull(test(vccp, vc, "0")); assertNotNull(test(vccp, vc, "1.0")); assertNotNull(test(vccp, vc, "-1")); assertNotNull(test(vccp, vc, "\n")); assertNotNull(test(vccp, vc, "\r")); assertNotNull(test(vccp, vc, "\t")); id = "Alpha"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "a")); assertNull(test(vccp, vc, "A")); assertNull(test(vccp, vc, "Z")); assertNull(test(vccp, vc, "zzzzz")); assertNull(test(vccp, vc, "abcdefghijklmnopqrstuvwxyz")); assertNotNull(test(vccp, vc, "1")); assertNotNull(test(vccp, vc, "0")); assertNotNull(test(vccp, vc, "X\n")); assertNotNull(test(vccp, vc, "X\r")); assertNotNull(test(vccp, vc, "X\t")); id = "UpperCase"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "AB")); assertNull(test(vccp, vc, "A")); assertNull(test(vccp, vc, "ABCDEFGHIJKLMNOPQRSTUVWXYZ")); assertNull(test(vccp, vc, "-")); assertNull(test(vccp, vc, ".")); assertNull(test(vccp, vc, "1")); assertNull(test(vccp, vc, "0")); assertNotNull(test(vccp, vc, "a")); assertNotNull(test(vccp, vc, "X\n")); assertNotNull(test(vccp, vc, "X\r")); assertNotNull(test(vccp, vc, "X\t")); id = "UpperAlpha"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "AB")); assertNull(test(vccp, vc, "A")); assertNull(test(vccp, vc, "ABCDEFGHIJKLMNOPQRSTUVWXYZ")); assertNotNull(test(vccp, vc, "a")); assertNotNull(test(vccp, vc, "1")); assertNotNull(test(vccp, vc, "0")); assertNotNull(test(vccp, vc, "X\n")); assertNotNull(test(vccp, vc, "X\r")); assertNotNull(test(vccp, vc, "X\t")); id = "LineText"; //AnyCharacter constraint allows only Visible characters (i.e. anything except spaces, control characters, etc.) //http://www.regular-expressions.info/posixbrackets.html - [\x21-\x7E] //http://www.asciitable.com/ vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "a")); assertNull(test(vccp, vc, "A")); assertNull(test(vccp, vc, "Z")); assertNull(test(vccp, vc, "Z")); assertNull(test(vccp, vc, "!")); assertNull(test(vccp, vc, "@")); assertNull(test(vccp, vc, "#")); assertNull(test(vccp, vc, "$")); assertNull(test(vccp, vc, "%")); assertNull(test(vccp, vc, "&")); assertNull(test(vccp, vc, "*")); assertNull(test(vccp, vc, "(")); assertNull(test(vccp, vc, ")")); assertNull(test(vccp, vc, "_")); assertNull(test(vccp, vc, "+")); assertNull(test(vccp, vc, "-")); assertNull(test(vccp, vc, "=")); assertNull(test(vccp, vc, "{")); assertNull(test(vccp, vc, "}")); assertNull(test(vccp, vc, "[")); assertNull(test(vccp, vc, "]")); assertNull(test(vccp, vc, "|")); assertNull(test(vccp, vc, "\\")); assertNull(test(vccp, vc, ",")); assertNull(test(vccp, vc, ".")); assertNull(test(vccp, vc, "/")); assertNull(test(vccp, vc, "<")); assertNull(test(vccp, vc, ">")); assertNull(test(vccp, vc, "?")); assertNull(test(vccp, vc, "~")); assertNull(test(vccp, vc, "`")); assertNull(test(vccp, vc, "zzzzz")); assertNull(test(vccp, vc, "abcdefghijklmnopqrstuvwxyz")); assertNull(test(vccp, vc, "ABCDEFGHIJKLMNOPQRSTUVWXYZ")); assertNull(test(vccp, vc, "1")); assertNull(test(vccp, vc, "0")); assertNull(test(vccp, vc, "X\n")); assertNull(test(vccp, vc, "X\r")); assertNull(test(vccp, vc, "X\t")); id = "MultiLineText"; vc = vccs.get(id); assertNotNull(vc); assertNull(test(vccp, vc, "a")); assertNull(test(vccp, vc, "A")); assertNull(test(vccp, vc, "Z")); assertNull(test(vccp, vc, "Z")); assertNull(test(vccp, vc, "!")); assertNull(test(vccp, vc, "@")); assertNull(test(vccp, vc, "#")); assertNull(test(vccp, vc, "$")); assertNull(test(vccp, vc, "%")); assertNull(test(vccp, vc, "&")); assertNull(test(vccp, vc, "*")); assertNull(test(vccp, vc, "(")); assertNull(test(vccp, vc, ")")); assertNull(test(vccp, vc, "_")); assertNull(test(vccp, vc, "+")); assertNull(test(vccp, vc, "-")); assertNull(test(vccp, vc, "=")); assertNull(test(vccp, vc, "{")); assertNull(test(vccp, vc, "}")); assertNull(test(vccp, vc, "[")); assertNull(test(vccp, vc, "]")); assertNull(test(vccp, vc, "|")); assertNull(test(vccp, vc, "\\")); assertNull(test(vccp, vc, ",")); assertNull(test(vccp, vc, ".")); assertNull(test(vccp, vc, "/")); assertNull(test(vccp, vc, "<")); assertNull(test(vccp, vc, ">")); assertNull(test(vccp, vc, "?")); assertNull(test(vccp, vc, "~")); assertNull(test(vccp, vc, "`")); assertNull(test(vccp, vc, "zzzzz")); assertNull(test(vccp, vc, "abcdefghijklmnopqrstuvwxyz")); assertNull(test(vccp, vc, "ABCDEFGHIJKLMNOPQRSTUVWXYZ")); assertNull(test(vccp, vc, "1")); assertNull(test(vccp, vc, "0")); assertNull(test(vccp, vc, "X\n")); assertNull(test(vccp, vc, "X\r")); assertNull(test(vccp, vc, "X\t")); // If you get this error -- don't just change the number // also add a unit test for new valid chars definition that you must have added into the base dictionary! assertEquals(14, vccs.size()); }
From source file:org.openspaces.pu.container.jee.context.BootstrapWebApplicationContextListener.java
public void contextDestroyed(ServletContextEvent servletContextEvent) { if (jeeContainerContextListener != null) { jeeContainerContextListener.contextDestroyed(servletContextEvent); }/* www . ja v a2s.co m*/ ConfigurableApplicationContext applicationContext = (ConfigurableApplicationContext) servletContextEvent .getServletContext().getAttribute(JeeProcessingUnitContainerProvider.APPLICATION_CONTEXT_CONTEXT); if (applicationContext != null && applicationContext.isActive()) { applicationContext.close(); } }