List of usage examples for org.springframework.context ConfigurableApplicationContext getBean
Object getBean(String name) throws BeansException;
From source file:org.springframework.cloud.stream.metrics.ApplicationMetricsExporterTests.java
@Test public void usingPrefix() throws Exception { ConfigurableApplicationContext applicationContext = SpringApplication.run(BinderExporterApplication.class, "--server.port=0", "--spring.jmx.enabled=false", "--spring.metrics.export.delay-millis=500", "--spring.cloud.stream.metrics.prefix=foo", "--spring.cloud.stream.bindings." + Emitter.APPLICATION_METRICS + ".destination=foo"); Emitter emitterSource = applicationContext.getBean(Emitter.class); MessageCollector collector = applicationContext.getBean(MessageCollector.class); Message<?> message = collector.forChannel(emitterSource.applicationMetrics()).poll(10, TimeUnit.SECONDS); Assert.assertNotNull(message);//from w w w .jav a 2 s .c o m ObjectMapper mapper = applicationContext.getBean(ObjectMapper.class); ApplicationMetrics applicationMetrics = mapper.readValue((String) message.getPayload(), ApplicationMetrics.class); Assert.assertTrue( contains("integration.channel.errorChannel.errorRate.mean", applicationMetrics.getMetrics())); Assert.assertTrue(contains("mem", applicationMetrics.getMetrics())); Assert.assertEquals("foo.application", applicationMetrics.getName()); Assert.assertTrue(CollectionUtils.isEmpty(applicationMetrics.getProperties())); applicationContext.close(); }
From source file:org.springframework.cloud.stream.metrics.ApplicationMetricsExporterTests.java
@Test public void includesExcludesDefaultConfig() throws Exception { ConfigurableApplicationContext applicationContext = SpringApplication.run(BinderExporterApplication.class, "--server.port=0", "--spring.jmx.enabled=false", "--spring.metrics.export.delay-millis=500", "--spring.cloud.stream.bindings." + Emitter.APPLICATION_METRICS + ".destination=foo", "--spring.metrics.export.includes=mem**", "--spring.metrics.export.excludes=integration**"); Emitter emitterSource = applicationContext.getBean(Emitter.class); MessageCollector collector = applicationContext.getBean(MessageCollector.class); Message<?> message = collector.forChannel(emitterSource.applicationMetrics()).poll(10, TimeUnit.SECONDS); Assert.assertNotNull(message);//from ww w . j av a 2 s .co m ObjectMapper mapper = applicationContext.getBean(ObjectMapper.class); ApplicationMetrics applicationMetrics = mapper.readValue((String) message.getPayload(), ApplicationMetrics.class); Assert.assertFalse( contains("integration.channel.errorChannel.errorRate.mean", applicationMetrics.getMetrics())); Assert.assertTrue(contains("mem", applicationMetrics.getMetrics())); Assert.assertTrue(CollectionUtils.isEmpty(applicationMetrics.getProperties())); applicationContext.close(); }
From source file:org.springframework.cloud.stream.metrics.ApplicationMetricsExporterTests.java
@Test public void includesExcludesWithApplicationMetricsConfiguration() throws Exception { ConfigurableApplicationContext applicationContext = SpringApplication.run(BinderExporterApplication.class, "--server.port=0", "--spring.jmx.enabled=false", "--spring.metrics.export.triggers.application.delay-millis=500", "--spring.cloud.stream.bindings." + Emitter.APPLICATION_METRICS + ".destination=foo", "--spring.metrics.export.triggers.application.includes=mem**", "--spring.metrics.export.triggers.application.excludes=integration**"); Emitter emitterSource = applicationContext.getBean(Emitter.class); MessageCollector collector = applicationContext.getBean(MessageCollector.class); Message<?> message = collector.forChannel(emitterSource.applicationMetrics()).poll(10, TimeUnit.SECONDS); Assert.assertNotNull(message);//from w w w . ja va2 s . co m ObjectMapper mapper = applicationContext.getBean(ObjectMapper.class); ApplicationMetrics applicationMetrics = mapper.readValue((String) message.getPayload(), ApplicationMetrics.class); Assert.assertFalse( contains("integration.channel.errorChannel.errorRate.mean", applicationMetrics.getMetrics())); Assert.assertTrue(contains("mem", applicationMetrics.getMetrics())); Assert.assertTrue(CollectionUtils.isEmpty(applicationMetrics.getProperties())); applicationContext.close(); }
From source file:org.springframework.cloud.stream.metrics.ApplicationMetricsExporterTests.java
@Test public void includesExcludesWithProperties() throws Exception { ConfigurableApplicationContext applicationContext = SpringApplication.run(BinderExporterApplication.class, "--server.port=0", "--spring.jmx.enabled=false", "--spring.metrics.export.delay-millis=500", "--spring.cloud.stream.bindings." + Emitter.APPLICATION_METRICS + ".destination=foo", "--spring.metrics.export.includes=integration**", "--spring.cloud.stream.metrics.properties=java**,spring.test.env**"); Emitter emitterSource = applicationContext.getBean(Emitter.class); MessageCollector collector = applicationContext.getBean(MessageCollector.class); Message<?> message = collector.forChannel(emitterSource.applicationMetrics()).poll(10, TimeUnit.SECONDS); Assert.assertNotNull(message);//w w w . j a va 2s .c o m ObjectMapper mapper = applicationContext.getBean(ObjectMapper.class); ApplicationMetrics applicationMetrics = mapper.readValue((String) message.getPayload(), ApplicationMetrics.class); Assert.assertFalse(contains("mem", applicationMetrics.getMetrics())); Assert.assertTrue( contains("integration.channel.errorChannel.errorRate.mean", applicationMetrics.getMetrics())); Assert.assertFalse(CollectionUtils.isEmpty(applicationMetrics.getProperties())); Assert.assertTrue(applicationMetrics.getProperties().get("spring.test.env.syntax").equals("testing")); applicationContext.close(); }
From source file:org.springframework.cloud.stream.metrics.ApplicationMetricsExporterTests.java
@Test public void propertiesWithPlaceholdersAndExpressions() throws Exception { ConfigurableApplicationContext applicationContext = SpringApplication.run(BinderExporterApplication.class, "--server.port=0", "--spring.jmx.enabled=false", "--PLATFORM_APP_NAME=123-name-foo", "--PLATFORM_APP_ID=123-id-bar", "--spring.cloud.application.guid=${PLATFORM_APP_NAME}.${PLATFORM_APP_ID}", "--spring.cloud.application.guid.expression=#{'${PLATFORM_APP_NAME}' + '..' + '${PLATFORM_APP_ID}'}", "--spring.cloud.application.guid.default.prop=${app.name.not.found:time-source}", "--spring.cloud.application.guid.default.env=${APP_NAME_NOT_FOUND:time-source}", "--spring.metrics.export.delay-millis=500", "--spring.cloud.stream.bindings." + Emitter.APPLICATION_METRICS + ".destination=foo", "--spring.metrics.export.includes=integration**", "--spring.cloud.stream.metrics.properties=spring**"); Emitter emitterSource = applicationContext.getBean(Emitter.class); MessageCollector collector = applicationContext.getBean(MessageCollector.class); Message<?> message = collector.forChannel(emitterSource.applicationMetrics()).poll(10, TimeUnit.SECONDS); Assert.assertNotNull(message);// w ww . j ava 2 s . c o m ObjectMapper mapper = applicationContext.getBean(ObjectMapper.class); ApplicationMetrics applicationMetrics = mapper.readValue((String) message.getPayload(), ApplicationMetrics.class); Assert.assertTrue( contains("integration.channel.errorChannel.errorRate.mean", applicationMetrics.getMetrics())); Assertions.assertThat(applicationMetrics.getProperties().get("spring.cloud.application.guid")) .isEqualTo("123-name-foo.123-id-bar"); Assertions.assertThat(applicationMetrics.getProperties().get("spring.cloud.application.guid.expression")) .isEqualTo("123-name-foo..123-id-bar"); Assertions.assertThat(applicationMetrics.getProperties().get("spring.cloud.application.guid.default.prop")) .isEqualTo("time-source"); Assertions.assertThat(applicationMetrics.getProperties().get("spring.cloud.application.guid.default.env")) .isEqualTo("time-source"); Assert.assertFalse(CollectionUtils.isEmpty(applicationMetrics.getProperties())); Assert.assertTrue(applicationMetrics.getProperties().get("spring.test.env.syntax").equals("testing")); applicationContext.close(); }
From source file:org.springframework.cloud.stream.metrics.ApplicationMetricsExporterTests.java
@Test public void propertiesFromLowerPrioritySourcesOverridden() throws Exception { System.setProperty("spring.cloud.application.guid.test.metrics", "lowPriority"); try {/*w w w.j a va 2 s .c o m*/ ConfigurableApplicationContext applicationContext = SpringApplication.run( BinderExporterApplication.class, "--server.port=0", "--spring.jmx.enabled=false", "--spring.cloud.application.guid.test.metrics=highPriority", "--spring.metrics.export.delay-millis=500", "--spring.cloud.stream.bindings." + Emitter.APPLICATION_METRICS + ".destination=foo", "--spring.metrics.export.includes=integration**", "--spring.cloud.stream.metrics.properties=spring**"); Emitter emitterSource = applicationContext.getBean(Emitter.class); MessageCollector collector = applicationContext.getBean(MessageCollector.class); Message<?> message = collector.forChannel(emitterSource.applicationMetrics()).poll(10, TimeUnit.SECONDS); Assert.assertNotNull(message); ObjectMapper mapper = applicationContext.getBean(ObjectMapper.class); ApplicationMetrics applicationMetrics = mapper.readValue((String) message.getPayload(), ApplicationMetrics.class); Assert.assertTrue( contains("integration.channel.errorChannel.errorRate.mean", applicationMetrics.getMetrics())); Assertions .assertThat( applicationMetrics.getProperties().get("spring.cloud.application.guid.test.metrics")) .isEqualTo("highPriority"); applicationContext.close(); } finally { System.clearProperty("spring.cloud.application.guid.test.metrics"); } }
From source file:org.springframework.cloud.stream.metrics.ApplicationMetricsExporterTests.java
@Test public void overrideAppName() throws Exception { ConfigurableApplicationContext applicationContext = SpringApplication.run(BinderExporterApplication.class, "--server.port=0", "--spring.jmx.enabled=false", "--spring.metrics.export.delay-millis=500", "--spring.application.name=foo", "--spring.cloud.stream.bindings." + Emitter.APPLICATION_METRICS + ".destination=foo", "--spring.cloud.stream.metrics.key=foobarfoo"); Emitter emitterSource = applicationContext.getBean(Emitter.class); MessageCollector collector = applicationContext.getBean(MessageCollector.class); Message<?> message = collector.forChannel(emitterSource.applicationMetrics()).poll(10, TimeUnit.SECONDS); Assert.assertNotNull(message);/* w w w .j av a2 s . c o m*/ ObjectMapper mapper = applicationContext.getBean(ObjectMapper.class); ApplicationMetrics applicationMetrics = mapper.readValue((String) message.getPayload(), ApplicationMetrics.class); Assert.assertTrue( contains("integration.channel.errorChannel.errorRate.mean", applicationMetrics.getMetrics())); Assert.assertTrue(contains("mem", applicationMetrics.getMetrics())); Assert.assertEquals("foobarfoo", applicationMetrics.getName()); Assert.assertTrue(CollectionUtils.isEmpty(applicationMetrics.getProperties())); applicationContext.close(); }
From source file:org.springframework.data.hadoop.admin.workflow.support.FileSystemApplicationContextFactoryTest.java
/** * Test method for {@link org.springframework.data.hadoop.admin.workflow.support.FileSystemApplicationContextFactory#createApplicationContext()}. * @throws SpringHadoopAdminWorkflowException * @throws ConfigurationException //from www .j ava 2s .c om */ @Test public void testCreateApplicationContext() throws ConfigurationException, SpringHadoopAdminWorkflowException { ApplicationContext rootContext = null; try { rootContext = new ClassPathXmlApplicationContext( new String[] { "classpath:org/springframework/data/hadoop/admin/env-context.xml", "classpath:org/springframework/data/hadoop/admin/data-source-context.xml", "classpath:org/springframework/data/hadoop/admin/execution-context.xml", }); } catch (Exception e) { Assert.fail("test create root application context failed." + e.getMessage()); } try { JobRepository jobRepository = rootContext.getBean("jobRepository", JobRepository.class); if (jobRepository == null) { Assert.fail("test get JobRepository is null"); } } catch (Exception e) { Assert.fail("test get JobRepository failed." + e.getMessage()); } contextFactory.setApplicationContext(rootContext); File descriptor = new File( "src/test/resources/org/springframework/data/hadoop/admin/workflow/support/context.xml"); File folder = descriptor.getParentFile(); HadoopWorkflowUtils.processUploadedFile(folder); ClassLoader loader = HadoopWorkflowUtils.getWorkflowClassLoader(folder); contextFactory.setBeanClassLoader(loader); contextFactory.setResource(new FileSystemResource( "src/test/resources/org/springframework/data/hadoop/admin/workflow/support/context.xml")); ConfigurableApplicationContext newContext = contextFactory.createApplicationContext(); logger.info("new context:" + newContext.toString()); Object obj = newContext.getBean("wordcount-withscript-job"); Assert.assertNotNull(obj); }
From source file:org.springframework.data.hadoop.admin.workflow.support.FileSystemApplicationContextFactoryTest.java
@Test(expected = NoSuchBeanDefinitionException.class) public void testCreateApplicationContext_withourResource() { ApplicationContext rootContext = new ClassPathXmlApplicationContext( new String[] { "classpath:org/springframework/data/hadoop/admin/env-context.xml", "classpath:org/springframework/data/hadoop/admin/data-source-context.xml", "classpath:org/springframework/data/hadoop/admin/execution-context.xml", }); contextFactory.setApplicationContext(rootContext); File folder = new File("src/test/resources/org/springframework/data/hadoop/admin/workflow/support"); ClassLoader loader = HadoopWorkflowUtils.getWorkflowClassLoader(folder); contextFactory.setBeanClassLoader(loader); ConfigurableApplicationContext newContext = contextFactory.createApplicationContext(); Object obj = newContext.getBean("wordcount-withscript-job"); Assert.assertNull(obj);/*from w w w . ja va 2 s . c o m*/ }
From source file:org.springframework.data.hadoop.examples.CommonMain.java
public static void main(String args[]) { ConfigurableApplicationContext context = null; try {/*from w w w.ja va 2s. c o m*/ System.out.println("Running example"); context = new ClassPathXmlApplicationContext("application-context.xml"); JobRunner runner = (JobRunner) context.getBean("runner"); runner.call(); System.out.println("Complete example"); } catch (Throwable e) { log.error("Error in main method", e); } finally { if (context != null) { context.close(); } } }