List of usage examples for org.springframework.context.support ClassPathXmlApplicationContext close
@Override public void close()
From source file:com.alibaba.dubbo.examples.annotation.AnnotationTest.java
@Test public void testAnnotation() { ClassPathXmlApplicationContext providerContext = new ClassPathXmlApplicationContext( AnnotationTest.class.getPackage().getName().replace('.', '/') + "/annotation-provider.xml"); providerContext.start();//from ww w .j av a 2 s . c o m try { ClassPathXmlApplicationContext consumerContext = new ClassPathXmlApplicationContext( AnnotationTest.class.getPackage().getName().replace('.', '/') + "/annotation-consumer.xml"); consumerContext.start(); try { AnnotationAction annotationAction = (AnnotationAction) consumerContext.getBean("annotationAction"); String hello = annotationAction.doSayHello("world"); assertEquals("annotation: hello, world", hello); } finally { consumerContext.stop(); consumerContext.close(); } } finally { providerContext.stop(); providerContext.close(); } }
From source file:org.alfresco.util.exec.RuntimeExecBeansTest.java
public void testFailureModeOfMissingCommand() { File dir = new File(DIR); dir.mkdir();/* w w w . j av a2 s.c o m*/ assertTrue("Directory not created", dir.exists()); ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(APP_CONTEXT_XML); try { RuntimeExec failureExec = (RuntimeExec) ctx.getBean("commandFailureGuaranteed"); assertNotNull(failureExec); // Execute it ExecutionResult result = failureExec.execute(); assertEquals("Expected first error code in list", 666, result.getExitValue()); } finally { ctx.close(); } }
From source file:org.silverpeas.dbbuilder.DBBuilder.java
/** * @param args/*from w w w . j a va 2 s . co m*/ * @see */ public static void main(String[] args) { ClassPathXmlApplicationContext springContext = new ClassPathXmlApplicationContext( "classpath:/spring-jdbc-datasource.xml"); try { // Ouverture des traces Date startDate = new Date(); System.out.println( MessageFormat.format(messages.getString("dbbuilder.start"), DBBuilderAppVersion, startDate)); console = new Console(DBBuilder.class); console.printMessage("*************************************************************"); console.printMessage( MessageFormat.format(messages.getString("dbbuilder.start"), DBBuilderAppVersion, startDate)); // Lecture des variables d'environnement partir de dbBuilderSettings dbBuilderResources = FileUtil .loadResource("/org/silverpeas/dbBuilder/settings/dbBuilderSettings.properties"); // Lecture des paramtres d'entre params = new CommandLineParameters(console, args); if (params.isSimulate() && DatabaseType.ORACLE == params.getDbType()) { throw new Exception(messages.getString("oracle.simulate.error")); } console.printMessage(messages.getString("jdbc.connection.configuration")); console.printMessage(ConnectionFactory.getConnectionInfo()); console.printMessage("\tAction : " + params.getAction()); console.printMessage("\tVerbose mode : " + params.isVerbose()); console.printMessage("\tSimulate mode : " + params.isSimulate()); if (Action.ACTION_CONNECT == params.getAction()) { // un petit message et puis c'est tout console.printMessage(messages.getString("connection.success")); System.out.println(messages.getString("connection.success")); } else { // Modules en place sur la BD avant install console.printMessage("DB Status before build :"); List<String> packagesIntoDB = checkDBStatus(); // initialisation d'un vecteur des instructions SQL passer en fin d'upgrade // pour mettre niveau les versions de modules en base MetaInstructions sqlMetaInstructions = new MetaInstructions(); File dirXml = new File(params.getDbType().getDBContributionDir()); DBXmlDocument destXml = loadMasterContribution(dirXml); UninstallInformations processesToCacheIntoDB = new UninstallInformations(); File[] listeFileXml = dirXml.listFiles(); Arrays.sort(listeFileXml); List<DBXmlDocument> listeDBXmlDocument = new ArrayList<DBXmlDocument>(listeFileXml.length); int ignoredFiles = 0; // Ouverture de tous les fichiers de configurations console.printMessage(messages.getString("ignored.contribution")); for (File xmlFile : listeFileXml) { if (xmlFile.isFile() && "xml".equals(FileUtil.getExtension(xmlFile)) && !(FIRST_DBCONTRIBUTION_FILE.equalsIgnoreCase(xmlFile.getName())) && !(MASTER_DBCONTRIBUTION_FILE.equalsIgnoreCase(xmlFile.getName()))) { DBXmlDocument fXml = new DBXmlDocument(dirXml, xmlFile.getName()); fXml.load(); // vrification des dpendances et prise en compte uniquement si dependences OK if (hasUnresolvedRequirements(listeFileXml, fXml)) { console.printMessage( '\t' + xmlFile.getName() + " (because of unresolved requirements)."); ignoredFiles++; } else if (ACTION_ENFORCE_UNINSTALL == params.getAction()) { console.printMessage('\t' + xmlFile.getName() + " (because of " + ACTION_ENFORCE_UNINSTALL + " mode)."); ignoredFiles++; } else { listeDBXmlDocument.add(fXml); } } } if (0 == ignoredFiles) { console.printMessage("\t(none)"); } // prpare une HashMap des modules prsents en fichiers de contribution Map packagesIntoFile = new HashMap(); int j = 0; console.printMessage(messages.getString("merged.contribution")); console.printMessage(params.getAction().toString()); if (ACTION_ENFORCE_UNINSTALL != params.getAction()) { console.printMessage('\t' + FIRST_DBCONTRIBUTION_FILE); j++; } for (DBXmlDocument currentDoc : listeDBXmlDocument) { console.printMessage('\t' + currentDoc.getName()); j++; } if (0 == j) { console.printMessage("\t(none)"); } // merge des diffrents fichiers de contribution ligibles : console.printMessage("Build decisions are :"); // d'abord le fichier dbbuilder-contribution ... DBXmlDocument fileXml; if (ACTION_ENFORCE_UNINSTALL != params.getAction()) { try { fileXml = new DBXmlDocument(dirXml, FIRST_DBCONTRIBUTION_FILE); fileXml.load(); } catch (Exception e) { // contribution de dbbuilder non trouve -> on continue, on est certainement en train // de desinstaller la totale fileXml = null; } if (null != fileXml) { DBBuilderFileItem dbbuilderItem = new DBBuilderFileItem(fileXml); packagesIntoFile.put(dbbuilderItem.getModule(), null); mergeActionsToDo(dbbuilderItem, destXml, processesToCacheIntoDB, sqlMetaInstructions); } } // ... puis les autres for (DBXmlDocument currentDoc : listeDBXmlDocument) { DBBuilderFileItem tmpdbbuilderItem = new DBBuilderFileItem(currentDoc); packagesIntoFile.put(tmpdbbuilderItem.getModule(), null); mergeActionsToDo(tmpdbbuilderItem, destXml, processesToCacheIntoDB, sqlMetaInstructions); } // ... et enfin les pices BD dsinstaller // ... attention, l'ordonnancement n'tant pas dispo, on les traite dans // l'ordre inverse pour faire passer busCore a la fin, de nombreuses contraintes // des autres modules referencant les PK de busCore List<String> itemsList = new ArrayList<String>(); boolean foundDBBuilder = false; for (String dbPackage : packagesIntoDB) { if (!packagesIntoFile.containsKey(dbPackage)) { // Package en base et non en contribution -> candidat desinstallation if (DBBUILDER_MODULE.equalsIgnoreCase(dbPackage)) { foundDBBuilder = true; } else if (ACTION_ENFORCE_UNINSTALL == params.getAction()) { if (dbPackage.equals(params.getModuleName())) { itemsList.add(0, dbPackage); } } else { itemsList.add(0, dbPackage); } } } if (foundDBBuilder) { if (ACTION_ENFORCE_UNINSTALL == params.getAction()) { if (DBBUILDER_MODULE.equals(params.getModuleName())) { itemsList.add(itemsList.size(), DBBUILDER_MODULE); } } else { itemsList.add(itemsList.size(), DBBUILDER_MODULE); } } for (String item : itemsList) { console.printMessage("**** Treating " + item + " ****"); DBBuilderDBItem tmpdbbuilderItem = new DBBuilderDBItem(item); mergeActionsToDo(tmpdbbuilderItem, destXml, processesToCacheIntoDB, sqlMetaInstructions); } destXml.setName("res.txt"); destXml.save(); console.printMessage("Build parts are :"); // Traitement des pices slectionnes // remarque : durant cette phase, les erreurs sont traites -> on les catche en // retour sans les retraiter if (ACTION_INSTALL == params.getAction()) { processDB(destXml, processesToCacheIntoDB, sqlMetaInstructions, TAGS_TO_MERGE_4_INSTALL); } else if (ACTION_UNINSTALL == params.getAction() || ACTION_ENFORCE_UNINSTALL == params.getAction()) { processDB(destXml, processesToCacheIntoDB, sqlMetaInstructions, TAGS_TO_MERGE_4_UNINSTALL); } else if (ACTION_OPTIMIZE == params.getAction()) { processDB(destXml, processesToCacheIntoDB, sqlMetaInstructions, TAGS_TO_MERGE_4_OPTIMIZE); } else if (ACTION_ALL == params.getAction()) { processDB(destXml, processesToCacheIntoDB, sqlMetaInstructions, TAGS_TO_MERGE_4_ALL); } // Modules en place sur la BD en final console.printMessage("Finally DB Status :"); checkDBStatus(); } Date endDate = new Date(); console.printMessage(MessageFormat.format(messages.getString("dbbuilder.success"), endDate)); System.out.println("*******************************************************************"); System.out.println(MessageFormat.format(messages.getString("dbbuilder.success"), endDate)); } catch (Exception e) { e.printStackTrace(); console.printError(e.getMessage(), e); Date endDate = new Date(); console.printError(MessageFormat.format(messages.getString("dbbuilder.failure"), endDate)); System.out.println("*******************************************************************"); System.out.println(MessageFormat.format(messages.getString("dbbuilder.failure"), endDate)); System.exit(1); } finally { springContext.close(); console.close(); } }
From source file:gemlite.shell.service.batch.ImportService.java
/** * /*from w w w. ja va 2 s .co m*/ * @param template * @param file * @param delimiter * @param quote * @param skipable * @param columns * @param region * @param table * @param encoding * @param linesToSkip * @param dbdriver * //????? * @param dburl * @param dbuser * @param dbpsw * @param sortKey * @param where * @param pageSize * @param fetchSize * @return */ public boolean defineJob(String template, String file, String delimiter, String quote, boolean skipable, String columns, String region, String table, String encoding, int linesToSkip, String dbdriver, String dburl, String dbuser, String dbpsw, String sortKey, String where, int pageSize, int fetchSize) { BatchParameter param = new BatchParameter(template, file, delimiter, quote, skipable, columns, region, table, encoding, linesToSkip, sortKey, where, pageSize, fetchSize); if (!validParameters(param)) return false; String cacheKey = region + template; try { // ??,?db?? if (StringUtils.equals(BatchTemplateTypes.jdbcPartition.getValue(), param.getTemplate()) || StringUtils.equals(BatchTemplateTypes.jdbcpaging.getValue(), param.getTemplate())) { // ?? setDbParameter(dbdriver, dburl, dbuser, dbpsw); saveDbConfig(dbdriver, dburl, dbuser, dbpsw); } // partition,?table if (StringUtils.equals(BatchTemplateTypes.jdbcPartition.getValue(), param.getTemplate())) { DataSource dataSource = null; DatabaseType type = null; // ?? if (jobItems.containsKey(cacheKey)) { dataSource = (DataSource) (jobItems.get(cacheKey).jobContext.getBean("jdbcDataSource")); type = DatabaseType.fromMetaData(dataSource); } else { // ,??? ClassPathXmlApplicationContext jdbc = Util.initContext(true, "batch/job-context.xml", "batch/import-db-jdbc.xml"); dataSource = (DataSource) jdbc.getBean("jdbcDataSource"); type = DatabaseType.fromMetaData(dataSource); jdbc.close(); } if (converters.containsKey(type)) param.setTable(converters.get(type).converte(table, sortKey)); } String jobXMLFile = generator.generateFileJob(region, param); ClassPathXmlApplicationContext jobContext = null; if (StringUtils.equals("file", template)) { jobContext = Util.initContext(false, "batch/job-context.xml", jobXMLFile); } else { // ????db? jobContext = Util.initContext(false, "batch/job-context.xml", "batch/import-db-jdbc.xml", jobXMLFile); } jobContext.setParent(batchContext); jobContext.refresh(); if (LogUtil.getCoreLog().isDebugEnabled()) LogUtil.getCoreLog().debug("Job:" + region + " define success."); JobItem item = new JobItem(); item.attributes = param; item.job = jobContext.getBean(Job.class); item.jobContent = jobXMLFile; item.jobContext = jobContext; jobItems.put(cacheKey, item); return true; } catch (Exception e) { LogUtil.getCoreLog().info("Job define error.", e); throw new GemliteException(e); } }
From source file:com.chevres.rss.restapi.controller.FeedController.java
@CrossOrigin @RequestMapping(path = "/feeds", method = RequestMethod.GET) @ResponseBody//w w w. ja v a 2 s.co m public ResponseEntity<String> getFeeds(@RequestHeader(value = "User-token") String userToken) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); FeedDAO feedDAO = context.getBean(FeedDAO.class); UserAuthDAO userAuthDAO = context.getBean(UserAuthDAO.class); ArticleStateDAO articleStateDAO = context.getBean(ArticleStateDAO.class); UserAuth userAuth = userAuthDAO.findByToken(userToken); if (userAuth == null) { context.close(); return new ResponseEntity(new ErrorMessageResponse("invalid_token"), HttpStatus.BAD_REQUEST); } ArticleState newState = articleStateDAO.findByLabel(ArticleState.NEW_LABEL); List<Feed> feeds = feedDAO.findAll(userAuth); List<SuccessGetFeedWithIdResponse> finalList = new ArrayList<>(); for (Feed feed : feeds) { finalList.add(new SuccessGetFeedWithIdResponse(feed.getId(), feed.getName(), feed.getUrl(), feed.getRefreshError(), feedDAO.getNewArticlesByFeed(feed, newState))); } context.close(); return new ResponseEntity(new SuccessGetFeedsResponse(finalList), HttpStatus.OK); }
From source file:com.chevres.rss.restapi.controller.FeedController.java
@CrossOrigin @RequestMapping(path = "/feed/{feedId}", method = RequestMethod.GET) @ResponseBody// ww w . jav a 2s.c o m public ResponseEntity<String> getFeedInfos(@RequestHeader(value = "User-token") String userToken, @PathVariable int feedId) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); FeedDAO feedDAO = context.getBean(FeedDAO.class); UserAuthDAO userAuthDAO = context.getBean(UserAuthDAO.class); ArticleStateDAO articleStateDAO = context.getBean(ArticleStateDAO.class); UserAuth userAuth = userAuthDAO.findByToken(userToken); if (userAuth == null) { context.close(); return new ResponseEntity(new ErrorMessageResponse("invalid_token"), HttpStatus.BAD_REQUEST); } Feed feed = feedDAO.findById(userAuth, feedId); if (feed == null) { context.close(); return new ResponseEntity(HttpStatus.NOT_FOUND); } ArticleState newState = articleStateDAO.findByLabel(ArticleState.NEW_LABEL); int newArticles = feedDAO.getNewArticlesByFeed(feed, newState); context.close(); return new ResponseEntity(new SuccessFeedInfoResponse(feed.getId(), feed.getName(), feed.getUrl(), newArticles, feed.getRefreshError()), HttpStatus.OK); }
From source file:com.chevres.rss.restapi.controller.FeedController.java
@CrossOrigin @RequestMapping(path = "/feed/{feedId}", method = RequestMethod.PUT) @ResponseBody//from w w w.ja va 2 s.com public ResponseEntity<String> updateFeedInfos(@RequestHeader(value = "User-token") String userToken, @RequestBody Feed feedRequest, @PathVariable int feedId) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); FeedDAO feedDAO = context.getBean(FeedDAO.class); UserAuthDAO userAuthDAO = context.getBean(UserAuthDAO.class); ArticleStateDAO articleStateDAO = context.getBean(ArticleStateDAO.class); UserAuth userAuth = userAuthDAO.findByToken(userToken); if (userAuth == null) { context.close(); return new ResponseEntity(new ErrorMessageResponse("invalid_token"), HttpStatus.BAD_REQUEST); } if (StringUtils.isBlank(feedRequest.getName())) { context.close(); return new ResponseEntity(new ErrorMessageResponse("bad_params"), HttpStatus.BAD_REQUEST); } Feed feed = feedDAO.findById(userAuth, feedId); if (feed == null) { context.close(); return new ResponseEntity(HttpStatus.NOT_FOUND); } feedDAO.updateName(feed, feedRequest); ArticleState newState = articleStateDAO.findByLabel(ArticleState.NEW_LABEL); int newArticles = feedDAO.getNewArticlesByFeed(feed, newState); context.close(); return new ResponseEntity(new SuccessFeedInfoResponse(feed.getId(), feed.getName(), feed.getUrl(), newArticles, feed.getRefreshError()), HttpStatus.OK); }
From source file:tools.datasync.core.sampleapp.CoreSeedIntegrationTest.java
@Before public void init() { createDatabases();//from w ww . j av a 2 s . co m ClassPathXmlApplicationContext appContext = null; try { appContext = new ClassPathXmlApplicationContext("test-beans.xml"); syncOrchMgr = appContext.getBean("syncOrchMgr", SyncOrchestrationManager.class); sourceDao = appContext.getBean("sourceDao", GenericDao.class); targetDao = appContext.getBean("targetDao", GenericDao.class); } catch (Exception e) { LOG.error("Cannot load app enviornment", e); if (appContext != null) { appContext.close(); } } }
From source file:com.chevres.rss.restapi.controller.FeedController.java
@CrossOrigin @RequestMapping(path = "/feed", method = RequestMethod.POST) @ResponseBody// w w w .j a va 2 s.c o m public ResponseEntity<String> addFeed(@RequestHeader(value = "User-token") String userToken, @RequestBody Feed feed, BindingResult bindingResult) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); FeedDAO feedDAO = context.getBean(FeedDAO.class); UserAuthDAO userAuthDAO = context.getBean(UserAuthDAO.class); ArticleStateDAO articleStateDAO = context.getBean(ArticleStateDAO.class); UserAuth userAuth = userAuthDAO.findByToken(userToken); if (userAuth == null) { context.close(); return new ResponseEntity(new ErrorMessageResponse("invalid_token"), HttpStatus.BAD_REQUEST); } feedValidator.validate(feed, bindingResult); if (bindingResult.hasErrors()) { context.close(); return new ResponseEntity(new ErrorMessageResponse("bad_params"), HttpStatus.BAD_REQUEST); } if (feedDAO.doesExist(userAuth, feed.getUrl())) { context.close(); return new ResponseEntity(new ErrorMessageResponse("already_exist"), HttpStatus.BAD_REQUEST); } feed.setIdUser(userAuth.getIdUser()); feed.setRefreshError(false); feedDAO.create(feed); ArticleState newState = articleStateDAO.findByLabel(ArticleState.NEW_LABEL); int newArticles = feedDAO.getNewArticlesByFeed(feed, newState); context.close(); return new ResponseEntity(new SuccessFeedInfoResponse(feed.getId(), feed.getName(), feed.getUrl(), newArticles, feed.getRefreshError()), HttpStatus.OK); }
From source file:com.ryantenney.metrics.spring.RegistryTest.java
@Test public void testCustomRegistries() { ClassPathXmlApplicationContext ctx = null; try {/* ww w.j a v a 2 s.c o m*/ ctx = new ClassPathXmlApplicationContext("classpath:custom-registries.xml"); Assert.assertSame("Should have a custom MetricRegistry bean.", MetricRegistry.class, ctx.getBean("metrics", MetricRegistry.class).getClass().getSuperclass()); Assert.assertSame("Should have a custom HealthCheckRegistry bean.", HealthCheckRegistry.class, ctx.getBean("health", HealthCheckRegistry.class).getClass().getSuperclass()); } finally { if (ctx != null) { ctx.close(); } } }