Merge branch '1.3.x'
This commit is contained in:
@@ -60,6 +60,16 @@
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hsqldb</groupId>
|
||||
<artifactId>hsqldb</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-test-support</artifactId>
|
||||
|
||||
@@ -33,6 +33,7 @@ import org.aopalliance.intercept.MethodInvocation;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.aop.framework.Advised;
|
||||
import org.springframework.aop.scope.ScopedObject;
|
||||
import org.springframework.aop.scope.ScopedProxyFactoryBean;
|
||||
import org.springframework.aop.support.AopUtils;
|
||||
import org.springframework.beans.BeansException;
|
||||
@@ -457,7 +458,8 @@ public class GenericScope implements Scope, BeanFactoryPostProcessor,
|
||||
Method method = invocation.getMethod();
|
||||
if (AopUtils.isEqualsMethod(method)
|
||||
|| AopUtils.isToStringMethod(method)
|
||||
|| AopUtils.isHashCodeMethod(method)) {
|
||||
|| AopUtils.isHashCodeMethod(method)
|
||||
|| isScopedObjectGetTargetObject(method)) {
|
||||
return invocation.proceed();
|
||||
}
|
||||
Object proxy = getObject();
|
||||
@@ -477,6 +479,12 @@ public class GenericScope implements Scope, BeanFactoryPostProcessor,
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isScopedObjectGetTargetObject(Method method) {
|
||||
return method.getDeclaringClass().equals(ScopedObject.class)
|
||||
&& method.getName().equals("getTargetObject")
|
||||
&& method.getParameterTypes().length == 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,23 +26,24 @@ import org.springframework.aop.framework.Advised;
|
||||
import org.springframework.beans.factory.DisposableBean;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.cloud.context.scope.GenericScope;
|
||||
import org.springframework.cloud.context.scope.refresh.RefreshScopeIntegrationTests.TestConfiguration;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.jmx.export.annotation.ManagedAttribute;
|
||||
import org.springframework.jmx.export.annotation.ManagedResource;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNotSame;
|
||||
@@ -199,8 +200,7 @@ public class RefreshScopeIntegrationTests {
|
||||
|
||||
@Configuration
|
||||
@EnableConfigurationProperties(TestProperties.class)
|
||||
@Import({ RefreshAutoConfiguration.class,
|
||||
PropertyPlaceholderAutoConfiguration.class })
|
||||
@EnableAutoConfiguration
|
||||
protected static class TestConfiguration {
|
||||
|
||||
@Autowired
|
||||
@@ -215,6 +215,11 @@ public class RefreshScopeIntegrationTests {
|
||||
return service;
|
||||
}
|
||||
|
||||
@Bean
|
||||
@RefreshScope
|
||||
public DataSource dataSource(DataSourceProperties dataSourceProperties) {
|
||||
return dataSourceProperties.initializeDataSourceBuilder().build();
|
||||
}
|
||||
}
|
||||
|
||||
@ConfigurationProperties
|
||||
|
||||
@@ -3,3 +3,4 @@ delay: 0
|
||||
debug: true
|
||||
#logging.level.org.springframework.web: DEBUG
|
||||
#logging.level.org.springframework.context.annotation: DEBUG
|
||||
logging.level.org.hibernate=ERROR
|
||||
|
||||
Reference in New Issue
Block a user