Browse Source

Drop legacy DisposableBean declaration on AbstractApplicationContext

Issue: SPR-15154
pull/1472/head
Juergen Hoeller 8 years ago
parent
commit
e7b77cb2b6
  1. 10
      spring-context-support/src/test/java/org/springframework/scheduling/quartz/QuartzSchedulerLifecycleTests.java
  2. 10
      spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java

10
spring-context-support/src/test/java/org/springframework/scheduling/quartz/QuartzSchedulerLifecycleTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2009 the original author or authors.
* Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -30,25 +30,25 @@ import static org.junit.Assert.*; @@ -30,25 +30,25 @@ import static org.junit.Assert.*;
*/
public class QuartzSchedulerLifecycleTests {
@Test // SPR-6354
@Test // SPR-6354
public void destroyLazyInitSchedulerWithDefaultShutdownOrderDoesNotHang() {
AbstractApplicationContext context = new ClassPathXmlApplicationContext("quartzSchedulerLifecycleTests.xml", this.getClass());
assertNotNull(context.getBean("lazyInitSchedulerWithDefaultShutdownOrder"));
StopWatch sw = new StopWatch();
sw.start("lazyScheduler");
context.destroy();
context.close();
sw.stop();
assertTrue("Quartz Scheduler with lazy-init is hanging on destruction: " +
sw.getTotalTimeMillis(), sw.getTotalTimeMillis() < 500);
}
@Test // SPR-6354
@Test // SPR-6354
public void destroyLazyInitSchedulerWithCustomShutdownOrderDoesNotHang() {
AbstractApplicationContext context = new ClassPathXmlApplicationContext("quartzSchedulerLifecycleTests.xml", this.getClass());
assertNotNull(context.getBean("lazyInitSchedulerWithCustomShutdownOrder"));
StopWatch sw = new StopWatch();
sw.start("lazyScheduler");
context.destroy();
context.close();
sw.stop();
assertTrue("Quartz Scheduler with lazy-init is hanging on destruction: " +
sw.getTotalTimeMillis(), sw.getTotalTimeMillis() < 500);

10
spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java

@ -34,7 +34,6 @@ import org.apache.commons.logging.LogFactory; @@ -34,7 +34,6 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.CachedIntrospectionResults;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
@ -124,7 +123,7 @@ import org.springframework.util.ReflectionUtils; @@ -124,7 +123,7 @@ import org.springframework.util.ReflectionUtils;
* @see org.springframework.context.MessageSource
*/
public abstract class AbstractApplicationContext extends DefaultResourceLoader
implements ConfigurableApplicationContext, DisposableBean {
implements ConfigurableApplicationContext {
/**
* Name of the MessageSource bean in the factory.
@ -940,12 +939,13 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader @@ -940,12 +939,13 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader
}
/**
* DisposableBean callback for destruction of this instance.
* Callback for destruction of this instance, originally attached
* to a {@code DisposableBean} implementation (not anymore in 5.0).
* <p>The {@link #close()} method is the native way to shut down
* an ApplicationContext, which this method simply delegates to.
* @see #close()
* @deprecated as of Spring Framework 5.0, in favor of {@link #close()}
*/
@Override
@Deprecated
public void destroy() {
close();
}

Loading…
Cancel
Save