Java Code Examples for org.springframework.context.annotation.AnnotationConfigApplicationContext#close()
The following examples show how to use
org.springframework.context.annotation.AnnotationConfigApplicationContext#close() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ObjectProviderDemo.java From geekbang-lessons with Apache License 2.0 | 6 votes |
public static void main(String[] args) { // 创建 BeanFactory 容器 AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); // 将当前类 ObjectProviderDemo 作为配置类(Configuration Class) applicationContext.register(ObjectProviderDemo.class); // 启动应用上下文 applicationContext.refresh(); // 依赖查找集合对象 lookupByObjectProvider(applicationContext); lookupIfAvailable(applicationContext); lookupByStreamOps(applicationContext); // 关闭应用上下文 applicationContext.close(); }
Example 2
Source File: HierarchicalSpringEventPropagateDemo.java From geekbang-lessons with Apache License 2.0 | 6 votes |
public static void main(String[] args) { // 1. 创建 parent Spring 应用上下文 AnnotationConfigApplicationContext parentContext = new AnnotationConfigApplicationContext(); parentContext.setId("parent-context"); // 注册 MyListener 到 parent Spring 应用上下文 parentContext.register(MyListener.class); // 2. 创建 current Spring 应用上下文 AnnotationConfigApplicationContext currentContext = new AnnotationConfigApplicationContext(); currentContext.setId("current-context"); // 3. current -> parent currentContext.setParent(parentContext); // 注册 MyListener 到 current Spring 应用上下文 currentContext.register(MyListener.class); // 4.启动 parent Spring 应用上下文 parentContext.refresh(); // 5.启动 current Spring 应用上下文 currentContext.refresh(); // 关闭所有 Spring 应用上下文 currentContext.close(); parentContext.close(); }
Example 3
Source File: SpringMBeanServerBeanBootstrap.java From thinking-in-spring-boot-samples with Apache License 2.0 | 6 votes |
public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); // 注册当前 Class context.register(SpringMBeanServerBeanBootstrap.class); // 启动应用上下文 context.refresh(); // 获取名为 "mBeanExporter" Bean,来自于 mBeanExporter() 方法 @Bean 定义 MBeanExporter mBeanExporter = context.getBean("mBeanExporter", MBeanExporter.class); // 获取名为 "mBeanServer" Bean,来自于 mBeanServer() 方法 @Bean 定义 MBeanServer mBeanServer = context.getBean("mBeanServer", MBeanServer.class); // 从 "mBeanExporter" Bean 中获取来自于其afterPropertiesSet()方法创建 "mBeanServer" 对象 MBeanServer mBeanServerFromMBeanExporter = mBeanExporter.getServer(); System.out.printf("来自 mBeanExporter Bean 关联的 MBeanServer 实例是否等于平台 MBeanServer : %b \n", mBeanServerFromMBeanExporter == ManagementFactory.getPlatformMBeanServer() ); System.out.printf("来自 mBeanExporter Bean 关联的 MBeanServer 实例是否等于 mBeanServer Bean : %b \n", mBeanServerFromMBeanExporter == mBeanServer ); // 关闭应用上下文 context.close(); }
Example 4
Source File: EnableAsyncTests.java From spring-analysis-note with MIT License | 6 votes |
@Test public void customExecutorBean() { // Arrange AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.register(CustomExecutorBean.class); ctx.refresh(); AsyncBean asyncBean = ctx.getBean(AsyncBean.class); // Act asyncBean.work(); // Assert Awaitility.await() .atMost(500, TimeUnit.MILLISECONDS) .pollInterval(10, TimeUnit.MILLISECONDS) .until(() -> asyncBean.getThreadOfExecution() != null); assertThat(asyncBean.getThreadOfExecution().getName(), startsWith("Custom-")); ctx.close(); }
Example 5
Source File: EnableTransactionManagementTests.java From spring4-understanding with Apache License 2.0 | 6 votes |
@Test public void spr11915() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Spr11915Config.class); TransactionalTestBean bean = ctx.getBean(TransactionalTestBean.class); CallCountingTransactionManager txManager = ctx.getBean("qualifiedTransactionManager", CallCountingTransactionManager.class); bean.saveQualifiedFoo(); assertThat(txManager.begun, equalTo(1)); assertThat(txManager.commits, equalTo(1)); assertThat(txManager.rollbacks, equalTo(0)); bean.saveQualifiedFooWithAttributeAlias(); assertThat(txManager.begun, equalTo(2)); assertThat(txManager.commits, equalTo(2)); assertThat(txManager.rollbacks, equalTo(0)); ctx.close(); }
Example 6
Source File: EnableAsyncTests.java From spring-analysis-note with MIT License | 6 votes |
@Test public void withAsyncBeanWithExecutorQualifiedByName() throws ExecutionException, InterruptedException { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.register(AsyncWithExecutorQualifiedByNameConfig.class); ctx.refresh(); AsyncBeanWithExecutorQualifiedByName asyncBean = ctx.getBean(AsyncBeanWithExecutorQualifiedByName.class); Future<Thread> workerThread0 = asyncBean.work0(); assertThat(workerThread0.get().getName(), not(anyOf(startsWith("e1-"), startsWith("otherExecutor-")))); Future<Thread> workerThread = asyncBean.work(); assertThat(workerThread.get().getName(), startsWith("e1-")); Future<Thread> workerThread2 = asyncBean.work2(); assertThat(workerThread2.get().getName(), startsWith("otherExecutor-")); Future<Thread> workerThread3 = asyncBean.work3(); assertThat(workerThread3.get().getName(), startsWith("otherExecutor-")); ctx.close(); }
Example 7
Source File: EnableTransactionManagementTests.java From spring-analysis-note with MIT License | 5 votes |
@Test public void transactionalEventListenerRegisteredProperly() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(EnableTxConfig.class); assertTrue(ctx.containsBean(TransactionManagementConfigUtils.TRANSACTIONAL_EVENT_LISTENER_FACTORY_BEAN_NAME)); assertEquals(1, ctx.getBeansOfType(TransactionalEventListenerFactory.class).size()); ctx.close(); }
Example 8
Source File: ConfigurationClassProcessingTests.java From java-technology-stack with MIT License | 5 votes |
@Test public void configurationWithAdaptiveResourcePrototypes() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.register(ConfigWithPrototypeBean.class, AdaptiveResourceInjectionPoints.class); ctx.refresh(); AdaptiveResourceInjectionPoints adaptive = ctx.getBean(AdaptiveResourceInjectionPoints.class); assertEquals("adaptiveInjectionPoint1", adaptive.adaptiveInjectionPoint1.getName()); assertEquals("setAdaptiveInjectionPoint2", adaptive.adaptiveInjectionPoint2.getName()); adaptive = ctx.getBean(AdaptiveResourceInjectionPoints.class); assertEquals("adaptiveInjectionPoint1", adaptive.adaptiveInjectionPoint1.getName()); assertEquals("setAdaptiveInjectionPoint2", adaptive.adaptiveInjectionPoint2.getName()); ctx.close(); }
Example 9
Source File: TenantScopeIntegrationTest.java From tutorials with MIT License | 5 votes |
@Test public final void whenRegisterScopeAndBeans_thenContextContainsFooAndBar() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); try { ctx.register(TenantScopeConfig.class); ctx.register(TenantBeansConfig.class); ctx.refresh(); TenantBean foo = (TenantBean) ctx.getBean("foo", TenantBean.class); foo.sayHello(); TenantBean bar = (TenantBean) ctx.getBean("bar", TenantBean.class); bar.sayHello(); Map<String, TenantBean> foos = ctx.getBeansOfType(TenantBean.class); assertThat(foo, not(equalTo(bar))); assertThat(foos.size(), equalTo(2)); assertTrue(foos.containsValue(foo)); assertTrue(foos.containsValue(bar)); BeanDefinition fooDefinition = ctx.getBeanDefinition("foo"); BeanDefinition barDefinition = ctx.getBeanDefinition("bar"); assertThat(fooDefinition.getScope(), equalTo("tenant")); assertThat(barDefinition.getScope(), equalTo("tenant")); } finally { ctx.close(); } }
Example 10
Source File: EnableTransactionManagementTests.java From java-technology-stack with MIT License | 5 votes |
@Test public void txManagerIsResolvedCorrectlyWhenMultipleManagersArePresent() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext( EnableTxConfig.class, MultiTxManagerConfig.class); TransactionalTestBean bean = ctx.getBean(TransactionalTestBean.class); // invoke a transactional method, causing the PlatformTransactionManager bean to be resolved. bean.findAllFoos(); ctx.close(); }
Example 11
Source File: BeanInstantiationExceptionDemo.java From geekbang-lessons with Apache License 2.0 | 5 votes |
public static void main(String[] args) { // 创建 BeanFactory 容器 AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); // 注册 BeanDefinition Bean Class 是一个 CharSequence 接口 BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(CharSequence.class); applicationContext.registerBeanDefinition("errorBean", beanDefinitionBuilder.getBeanDefinition()); // 启动应用上下文 applicationContext.refresh(); // 关闭应用上下文 applicationContext.close(); }
Example 12
Source File: ImportResourceTests.java From spring4-understanding with Apache License 2.0 | 5 votes |
@Ignore // TODO: SPR-6310 @Test public void importXmlByConvention() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext( ImportXmlByConventionConfig.class); assertTrue("context does not contain xml-declared bean", ctx.containsBean("xmlDeclaredBean")); ctx.close(); }
Example 13
Source File: CassandraSinkPropertiesTests.java From spring-cloud-stream-app-starters with Apache License 2.0 | 5 votes |
@Test public void ingestQueryCanBeCustomized() { String query = "insert into book (isbn, title, author) values (?, ?, ?)"; AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); EnvironmentTestUtils.addEnvironment(context, "cassandra.ingest-query:" + query); context.register(Conf.class); context.refresh(); CassandraSinkProperties properties = context.getBean(CassandraSinkProperties.class); assertThat(properties.getIngestQuery(), equalTo(query)); context.close(); }
Example 14
Source File: MySpringApp.java From journaldev with MIT License | 5 votes |
public static void main(String[] args) { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.register(MyConfiguration.class); ctx.refresh(); MyBean mb1 = ctx.getBean(MyBean.class); System.out.println(mb1.hashCode()); MyBean mb2 = ctx.getBean(MyBean.class); System.out.println(mb2.hashCode()); ctx.close(); }
Example 15
Source File: SpringJmxAnnotationBootstrap.java From thinking-in-spring-boot-samples with Apache License 2.0 | 5 votes |
public static void main(String[] args) throws IOException { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); // 注册 SpringJmxAnnotationBootstrap context.register(SpringJmxAnnotationBootstrap.class); // 启动应用上下文 context.refresh(); System.out.println("按任意键结束..."); System.in.read(); // 关闭应用上下文 context.close(); }
Example 16
Source File: CassandraSinkPropertiesTests.java From spring-cloud-stream-app-starters with Apache License 2.0 | 5 votes |
@Test public void ttlCanBeCustomized() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); EnvironmentTestUtils.addEnvironment(context, "cassandra.ttl:" + 1000); context.register(Conf.class); context.refresh(); CassandraSinkProperties properties = context.getBean(CassandraSinkProperties.class); assertThat(properties.getTtl(), equalTo(1000)); context.close(); }
Example 17
Source File: ObjectFactoryLazyLookupDemo.java From geekbang-lessons with Apache License 2.0 | 5 votes |
public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); // 注册 Configuration Class context.register(ObjectFactoryLazyLookupDemo.class); // 启动 Spring 应用上下文 context.refresh(); ObjectFactoryLazyLookupDemo objectFactoryLazyLookupDemo = context.getBean(ObjectFactoryLazyLookupDemo.class); // userObjectFactory userObjectProvider; // 代理对象 ObjectFactory<User> userObjectFactory = objectFactoryLazyLookupDemo.userObjectFactory; ObjectFactory<User> userObjectProvider = objectFactoryLazyLookupDemo.userObjectProvider; System.out.println("userObjectFactory == userObjectProvider : " + (userObjectFactory == userObjectProvider)); System.out.println("userObjectFactory.getClass() == userObjectProvider.getClass() : " + (userObjectFactory.getClass() == userObjectProvider.getClass())); // 实际对象(延迟查找) System.out.println("user = " + userObjectFactory.getObject()); System.out.println("user = " + userObjectProvider.getObject()); System.out.println("user = " + context.getBean(User.class)); // 关闭 Spring 应用上下文 context.close(); }
Example 18
Source File: HelloServer.java From jigsaw-payment with Apache License 2.0 | 4 votes |
public static void main(String[] args){ AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(HelloServerConfig.class); context.close(); }
Example 19
Source File: PersistentDomainEventIntegrationTest.java From spring-domain-events with Apache License 2.0 | 3 votes |
@Test void exposesEventPublicationForFailedListener() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); context.register(ApplicationConfiguration.class, InfrastructureConfiguration.class); context.refresh(); Method method = ReflectionUtils.findMethod(SecondTxEventListener.class, "on", DomainEvent.class); try { context.getBean(Client.class).method(); } catch (Throwable e) { System.out.println(e); } finally { Iterable<EventPublication> eventsToBePublished = context.getBean(EventPublicationRegistry.class) .findIncompletePublications(); assertThat(eventsToBePublished).hasSize(1); assertThat(eventsToBePublished).allSatisfy(it -> { assertThat(it.getTargetIdentifier()).isEqualTo(PublicationTargetIdentifier.forMethod(method)); }); context.close(); } }
Example 20
Source File: Main.java From spring4.x-project with Apache License 2.0 | 3 votes |
public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ElConfig.class); ElConfig resourceService = context.getBean(ElConfig.class); resourceService.outputResource(); context.close(); }