Add proxyBeanMethods = false to configuration. Fixes #233

This commit is contained in:
Ryan Baxter
2019-11-14 12:42:43 -05:00
parent 59b34b23e9
commit 1ce5ca1ba8
50 changed files with 78 additions and 79 deletions

View File

@@ -56,7 +56,7 @@ import org.springframework.context.annotation.Import;
* @author Spencer Gibb
* @author Julien Roy
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(Feign.class)
@EnableConfigurationProperties({ FeignClientProperties.class,
FeignHttpClientProperties.class })
@@ -78,7 +78,7 @@ public class FeignAutoConfiguration {
return context;
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(name = "feign.hystrix.HystrixFeign")
protected static class HystrixFeignTargeterConfiguration {
@@ -90,7 +90,7 @@ public class FeignAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingClass("feign.hystrix.HystrixFeign")
protected static class DefaultFeignTargeterConfiguration {
@@ -106,7 +106,7 @@ public class FeignAutoConfiguration {
// ribbon is not on the class path.
// see corresponding configurations in FeignRibbonClientAutoConfiguration
// for load balanced ribbon clients.
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(ApacheHttpClient.class)
@ConditionalOnMissingClass("com.netflix.loadbalancer.ILoadBalancer")
@ConditionalOnMissingBean(CloseableHttpClient.class)
@@ -172,7 +172,7 @@ public class FeignAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(OkHttpClient.class)
@ConditionalOnMissingClass("com.netflix.loadbalancer.ILoadBalancer")
@ConditionalOnMissingBean(okhttp3.OkHttpClient.class)

View File

@@ -55,7 +55,7 @@ import org.springframework.format.support.FormattingConversionService;
* @author Dave Syer
* @author Venil Noronha
*/
@Configuration
@Configuration(proxyBeanMethods = false)
public class FeignClientsConfiguration {
@Autowired
@@ -144,7 +144,7 @@ public class FeignClientsConfiguration {
return new PageJacksonModule();
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({ HystrixCommand.class, HystrixFeign.class })
protected static class HystrixFeignConfiguration {

View File

@@ -44,7 +44,7 @@ import org.springframework.context.annotation.Configuration;
* @author Spencer Gibb
* @author Olga Maciaszek-Sharma
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(CloseableHttpClient.class)
public class HttpClientFeignConfiguration {

View File

@@ -38,7 +38,7 @@ import org.springframework.context.annotation.Configuration;
* @author Spencer Gibb
* @author Olga Maciaszek-Sharma
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(okhttp3.OkHttpClient.class)
public class OkHttpFeignConfiguration {

View File

@@ -35,7 +35,7 @@ import org.springframework.context.annotation.Configuration;
* @author Jakub Narloch
* @see FeignAcceptGzipEncodingInterceptor
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(FeignClientEncodingProperties.class)
@ConditionalOnClass(Feign.class)
@ConditionalOnBean(Client.class)

View File

@@ -35,7 +35,7 @@ import org.springframework.context.annotation.Configuration;
* @author Jakub Narloch
* @see FeignContentGzipEncodingInterceptor
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(FeignClientEncodingProperties.class)
@ConditionalOnClass(Feign.class)
@ConditionalOnBean(Client.class)

View File

@@ -48,7 +48,7 @@ import static org.springframework.hateoas.MediaTypes.HAL_JSON;
/**
* @author Hector Espert
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnWebApplication
@ConditionalOnClass(RepresentationModel.class)
@AutoConfigureAfter({ JacksonAutoConfiguration.class,

View File

@@ -30,7 +30,7 @@ import org.springframework.context.annotation.Configuration;
* @author Olga Maciaszek-Sharma
* @since 2.2.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
class DefaultFeignLoadBalancerConfiguration {
@Bean

View File

@@ -45,7 +45,7 @@ import org.springframework.context.annotation.Import;
@AutoConfigureBefore(FeignAutoConfiguration.class)
@AutoConfigureAfter(FeignRibbonClientAutoConfiguration.class)
@EnableConfigurationProperties(FeignHttpClientProperties.class)
@Configuration
@Configuration(proxyBeanMethods = false)
// Order is important here, last should be the default, first should be optional
// see
// https://github.com/spring-cloud/spring-cloud-netflix/issues/2086#issuecomment-316281653

View File

@@ -37,7 +37,7 @@ import org.springframework.context.annotation.Import;
* @author Olga Maciaszek-Sharma
* @since 2.2.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(ApacheHttpClient.class)
@ConditionalOnBean(BlockingLoadBalancerClient.class)
@ConditionalOnProperty(value = "feign.httpclient.enabled", matchIfMissing = true)

View File

@@ -36,7 +36,7 @@ import org.springframework.context.annotation.Import;
* @author Olga Maciaszek-Sharma
* @since 2.2.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(OkHttpClient.class)
@ConditionalOnProperty("feign.okhttp.enabled")
@ConditionalOnBean(BlockingLoadBalancerClient.class)

View File

@@ -26,7 +26,7 @@ import org.springframework.context.annotation.Configuration;
/**
* @author Spencer Gibb
*/
@Configuration
@Configuration(proxyBeanMethods = false)
class DefaultFeignLoadBalancedConfiguration {
@Bean

View File

@@ -45,7 +45,7 @@ import org.springframework.context.annotation.Primary;
@ConditionalOnClass({ ILoadBalancer.class, Feign.class })
@ConditionalOnProperty(value = "spring.cloud.loadbalancer.ribbon.enabled",
matchIfMissing = true)
@Configuration
@Configuration(proxyBeanMethods = false)
@AutoConfigureBefore(FeignAutoConfiguration.class)
@EnableConfigurationProperties({ FeignHttpClientProperties.class })
// Order is important here, last should be the default, first should be optional

View File

@@ -33,7 +33,7 @@ import org.springframework.context.annotation.Import;
* @author Spencer Gibb
* @author Olga Maciaszek-Sharma
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(ApacheHttpClient.class)
@ConditionalOnProperty(value = "feign.httpclient.enabled", matchIfMissing = true)
@Import(HttpClientFeignConfiguration.class)

View File

@@ -32,7 +32,7 @@ import org.springframework.context.annotation.Import;
* @author Spencer Gibb
* @author Olga Maciaszek-Sharma
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(OkHttpClient.class)
@ConditionalOnProperty("feign.okhttp.enabled")
@Import(OkHttpFeignConfiguration.class)

View File

@@ -33,7 +33,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author Jaesik Kim
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty("feign.compression.response.enabled")
// The OK HTTP client uses "transparent" compression.
// If the accept-encoding header is present, it disables transparent compression

View File

@@ -138,7 +138,7 @@ public class DefaultGzipDecoderTests extends FeignClientFactoryBean {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@Import(NoSecurityConfiguration.class)

View File

@@ -48,7 +48,7 @@ public class EnableFeignClientsSpringDataTests {
.cast(this.feignContext.getInstance("foo", Encoder.class));
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import({ PropertyPlaceholderAutoConfiguration.class, ArchaiusAutoConfiguration.class,
FeignAutoConfiguration.class })
protected static class PlainConfiguration {

View File

@@ -87,7 +87,7 @@ public class EnableFeignClientsTests {
Feign.Builder.class.cast(this.context.getBeansOfType(Feign.Builder.class).get(0));
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import({ ArchaiusAutoConfiguration.class, FeignAutoConfiguration.class })
protected static class PlainConfiguration {

View File

@@ -169,7 +169,7 @@ public class FeignClientOverrideDefaultsTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableFeignClients(clients = { FooClient.class, BarClient.class })
@Import({ PropertyPlaceholderAutoConfiguration.class, ArchaiusAutoConfiguration.class,
FeignAutoConfiguration.class })

View File

@@ -153,7 +153,7 @@ public class FeignClientUsingPropertiesTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@Import(NoSecurityConfiguration.class)

View File

@@ -107,14 +107,14 @@ public class FeignClientsRegistrarTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@EnableFeignClients(clients = { FeignClientsRegistrarTests.FallbackClient.class })
protected static class FallbackTestConfig {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@EnableFeignClients(
clients = { FeignClientsRegistrarTests.FallbackFactoryClient.class })

View File

@@ -71,7 +71,7 @@ public class FeignCompressionTests {
});
}
@Configuration
@Configuration(proxyBeanMethods = false)
protected static class PlainConfig {
@Autowired

View File

@@ -129,7 +129,7 @@ public class FeignHttpClientUrlTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients(clients = { UrlClient.class, BeanUrlClient.class,

View File

@@ -69,13 +69,13 @@ public class FeignLoggerFactoryTests {
context.close();
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import(FeignClientsConfiguration.class)
protected static class SampleConfiguration1 {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import(FeignClientsConfiguration.class)
protected static class SampleConfiguration2 {
@@ -95,7 +95,7 @@ public class FeignLoggerFactoryTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import(FeignClientsConfiguration.class)
protected static class SampleConfiguration3 {

View File

@@ -215,7 +215,7 @@ public class SpringDecoderTests extends FeignClientFactoryBean {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@Import(NoSecurityConfiguration.class)

View File

@@ -112,7 +112,7 @@ public class FeignClientTests {
assertThat(invocationHandler).as("invocationHandler was null").isNotNull();
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients
@@ -170,7 +170,7 @@ public class FeignClientTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
public static class TestDefaultFeignConfig {
}

View File

@@ -83,7 +83,7 @@ public class FeignAcceptEncodingTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
static class LocalRibbonClientConfiguration {
@Value("${local.server.port}")

View File

@@ -87,7 +87,7 @@ public class FeignContentEncodingTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
static class LocalRibbonClientConfiguration {
@Value("${local.server.port}")

View File

@@ -95,7 +95,7 @@ public class FeignPageableEncodingTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
static class LocalRibbonClientConfiguration {
@Value("${local.server.port}")

View File

@@ -31,7 +31,7 @@ import org.springframework.context.annotation.Import;
/**
* @author Daniel Lavoie
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@EnableFeignClients(clients = UsernameClient.class)
@Import(NoSecurityConfiguration.class)

View File

@@ -122,7 +122,7 @@ public class FeignClientValidationTests {
}
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import({ FeignAutoConfiguration.class, HttpClientConfiguration.class })
@EnableFeignClients(clients = NameAndServiceIdConfiguration.Client.class)
protected static class NameAndServiceIdConfiguration {
@@ -137,8 +137,7 @@ public class FeignClientValidationTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import({ FeignAutoConfiguration.class, HttpClientConfiguration.class })
@EnableFeignClients(
clients = { DuplicatedFeignClientNamesConfiguration.FooClient.class,
@@ -163,7 +162,7 @@ public class FeignClientValidationTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import(FeignAutoConfiguration.class)
@EnableFeignClients(clients = BadHostnameConfiguration.Client.class)
protected static class BadHostnameConfiguration {
@@ -178,7 +177,7 @@ public class FeignClientValidationTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import(FeignAutoConfiguration.class)
@EnableFeignClients(clients = MissingFallbackConfiguration.Client.class)
protected static class MissingFallbackConfiguration {
@@ -208,7 +207,7 @@ public class FeignClientValidationTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import(FeignAutoConfiguration.class)
@EnableFeignClients(clients = WrongFallbackTypeConfiguration.Client.class)
protected static class WrongFallbackTypeConfiguration {
@@ -237,7 +236,7 @@ public class FeignClientValidationTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import(FeignAutoConfiguration.class)
@EnableFeignClients(clients = MissingFallbackFactoryConfiguration.Client.class)
protected static class MissingFallbackFactoryConfiguration {
@@ -267,7 +266,7 @@ public class FeignClientValidationTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import(FeignAutoConfiguration.class)
@EnableFeignClients(clients = WrongFallbackFactoryTypeConfiguration.Client.class)
protected static class WrongFallbackFactoryTypeConfiguration {

View File

@@ -139,7 +139,7 @@ public class FeignRibbonClientPathTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@RequestMapping("/base/path")
@@ -177,7 +177,7 @@ public class FeignRibbonClientPathTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
public static class LocalRibbonClientConfiguration {
@Value("${local.server.port}")

View File

@@ -95,7 +95,7 @@ public class FeignRibbonClientRetryTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients(clients = TestClient.class)
@@ -142,7 +142,7 @@ public class FeignRibbonClientRetryTests {
// Load balancer with fixed server list for "local" pointing to localhost
// some bogus servers are thrown in to test retry
@Configuration
@Configuration(proxyBeanMethods = false)
class LocalRibbonClientConfiguration {
@Value("${local.server.port}")

View File

@@ -88,7 +88,7 @@ public class FeignRibbonHttpClientConfigurationTests {
return value;
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
static class FeignRibbonHttpClientConfigurationTestsApplication {

View File

@@ -67,7 +67,7 @@ public class FeignRibbonOkHttpClientConfigurationTests {
return value;
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
static class FeignRibbonOkHttpClientConfigurationTestsApplication {

View File

@@ -108,7 +108,7 @@ public class LoadBalancerFeignClientOverrideTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableFeignClients(clients = { FooClient.class, BarClient.class, BazClient.class })
@EnableAutoConfiguration
protected static class TestConfiguration {

View File

@@ -91,7 +91,7 @@ public class FeignHttpClientPropertiesTests {
return this.context.getBean(FeignHttpClientProperties.class);
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties
protected static class TestConfiguration {

View File

@@ -169,7 +169,7 @@ public class SpringEncoderTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
protected static class Application implements TestClient {

View File

@@ -160,7 +160,7 @@ public class ApacheHttpClientConfigurationTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
static class MyConfig {
@Bean

View File

@@ -20,7 +20,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
@Configuration(proxyBeanMethods = false)
public class NoSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override

View File

@@ -33,7 +33,7 @@ import org.springframework.security.provisioning.InMemoryUserDetailsManager;
/**
* @author Spencer Gibb
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@Import({ NoopDiscoveryClientAutoConfiguration.class })
@AutoConfigureBefore(SecurityAutoConfiguration.class)
public class TestAutoConfiguration {
@@ -42,7 +42,7 @@ public class TestAutoConfiguration {
public static final String PASSWORD = "{noop}password";
@Configuration
@Configuration(proxyBeanMethods = false)
@Order(Ordered.HIGHEST_PRECEDENCE)
protected static class TestSecurityConfiguration
extends WebSecurityConfigurerAdapter {

View File

@@ -99,7 +99,7 @@ public class FeignClientNotPrimaryTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients(clients = { TestClient.class },
@@ -150,7 +150,7 @@ public class FeignClientNotPrimaryTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
public static class TestDefaultFeignConfig {
@Bean
@@ -161,7 +161,7 @@ public class FeignClientNotPrimaryTests {
}
// Load balancer with fixed server list for "local" pointing to localhost
@Configuration
@Configuration(proxyBeanMethods = false)
public static class LocalRibbonClientConfiguration {
@Value("${local.server.port}")

View File

@@ -699,7 +699,7 @@ public class FeignClientTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients(clients = { TestClientServiceId.class, TestClient.class,
@@ -924,7 +924,7 @@ public class FeignClientTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
public static class TestDefaultFeignConfig {
@Bean
@@ -935,7 +935,7 @@ public class FeignClientTests {
}
// Load balancer with fixed server list for "local" pointing to localhost
@Configuration
@Configuration(proxyBeanMethods = false)
public static class LocalRibbonClientConfiguration {
@Value("${local.server.port}")

View File

@@ -64,7 +64,7 @@ public class FeignClientValidationTests {
context.close();
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import({ FeignAutoConfiguration.class, HttpClientConfiguration.class })
@EnableFeignClients(clients = GoodUrlConfiguration.Client.class)
protected static class GoodUrlConfiguration {
@@ -80,7 +80,7 @@ public class FeignClientValidationTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import({ FeignAutoConfiguration.class, HttpClientConfiguration.class })
@EnableFeignClients(clients = PlaceholderUrlConfiguration.Client.class)
protected static class PlaceholderUrlConfiguration {
@@ -96,7 +96,7 @@ public class FeignClientValidationTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@Import({ FeignAutoConfiguration.class, HttpClientConfiguration.class })
@EnableFeignClients(clients = GoodServiceIdConfiguration.Client.class)
protected static class GoodServiceIdConfiguration {

View File

@@ -137,7 +137,7 @@ public class FeignHttpClientTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients(clients = { TestClient.class, UserClient.class })
@@ -252,7 +252,7 @@ public class FeignHttpClientTests {
}
// Load balancer with fixed server list for "local" pointing to localhost
@Configuration
@Configuration(proxyBeanMethods = false)
static class LocalRibbonClientConfiguration {
@LocalServerPort

View File

@@ -136,7 +136,7 @@ public class FeignOkHttpTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients(clients = { TestClient.class, UserClient.class })
@@ -251,7 +251,7 @@ public class FeignOkHttpTests {
}
// Load balancer with fixed server list for "local" pointing to localhost
@Configuration
@Configuration(proxyBeanMethods = false)
static class LocalRibbonClientConfiguration {
@Value("${local.server.port}")

View File

@@ -75,7 +75,7 @@ public class IterableParameterTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients(clients = TestClient.class)

View File

@@ -64,7 +64,7 @@ public class FeignClientEnvVarTests {
assertThat(hello).as("first hello didn't match").isEqualTo("hello world 1");
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients(basePackages = { "${basepackage}" })
@@ -80,7 +80,7 @@ public class FeignClientEnvVarTests {
}
// Load balancer with fixed server list for "local" pointing to localhost
@Configuration
@Configuration(proxyBeanMethods = false)
public static class LocalRibbonClientConfiguration {
@Value("${local.server.port}")

View File

@@ -96,7 +96,7 @@ public class FeignClientScanningTests {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@RestController
@EnableFeignClients // NO clients attribute. That's what this class is testing!
@@ -112,7 +112,7 @@ public class FeignClientScanningTests {
}
// Load balancer with fixed server list for "local" pointing to localhost
@Configuration
@Configuration(proxyBeanMethods = false)
public static class LocalRibbonClientConfiguration {
@Value("${local.server.port}")