Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
spring-cloud-netflix
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
openSource
spring-cloud-netflix
Commits
7929dfec
Commit
7929dfec
authored
Aug 02, 2016
by
Stéphane Lagraulet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add a zuul property to customize Hystrix ExecutionIsolationStrategy
parent
8b911e60
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
110 additions
and
43 deletions
+110
-43
ZuulProxyConfiguration.java
...gframework/cloud/netflix/zuul/ZuulProxyConfiguration.java
+15
-3
ZuulProperties.java
...gframework/cloud/netflix/zuul/filters/ZuulProperties.java
+19
-0
RestClientRibbonCommand.java
...d/netflix/zuul/filters/route/RestClientRibbonCommand.java
+8
-7
RestClientRibbonCommandFactory.java
...ix/zuul/filters/route/RestClientRibbonCommandFactory.java
+10
-6
HttpClientRibbonCommand.java
...ix/zuul/filters/route/apache/HttpClientRibbonCommand.java
+5
-2
HttpClientRibbonCommandFactory.java
.../filters/route/apache/HttpClientRibbonCommandFactory.java
+4
-1
OkHttpRibbonCommand.java
...etflix/zuul/filters/route/okhttp/OkHttpRibbonCommand.java
+5
-2
OkHttpRibbonCommandFactory.java
...zuul/filters/route/okhttp/OkHttpRibbonCommandFactory.java
+4
-1
AbstractRibbonCommand.java
...lix/zuul/filters/route/support/AbstractRibbonCommand.java
+23
-15
RestClientRibbonCommandTests.java
...flix/zuul/filters/route/RestClientRibbonCommandTests.java
+11
-2
HttpClientRibbonCommandIntegrationTests.java
...route/apache/HttpClientRibbonCommandIntegrationTests.java
+2
-1
OkHttpRibbonCommandIntegrationTests.java
...ers/route/okhttp/OkHttpRibbonCommandIntegrationTests.java
+2
-1
RestClientRibbonCommandIntegrationTests.java
...e/restclient/RestClientRibbonCommandIntegrationTests.java
+2
-2
No files found.
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/ZuulProxyConfiguration.java
View file @
7929dfec
...
...
@@ -86,20 +86,28 @@ public class ZuulProxyConfiguration extends ZuulConfiguration {
@Configuration
@ConditionalOnProperty
(
name
=
"zuul.ribbon.httpclient.enabled"
,
matchIfMissing
=
true
)
protected
static
class
HttpClientRibbonConfiguration
{
@Autowired
protected
ZuulProperties
zuulProperties
;
@Bean
@ConditionalOnMissingBean
public
RibbonCommandFactory
<?>
ribbonCommandFactory
(
SpringClientFactory
clientFactory
)
{
return
new
HttpClientRibbonCommandFactory
(
clientFactory
);
return
new
HttpClientRibbonCommandFactory
(
clientFactory
,
zuulProperties
);
}
}
@Configuration
@ConditionalOnProperty
(
"zuul.ribbon.restclient.enabled"
)
protected
static
class
RestClientRibbonConfiguration
{
@Autowired
protected
ZuulProperties
zuulProperties
;
@Bean
@ConditionalOnMissingBean
public
RibbonCommandFactory
<?>
ribbonCommandFactory
(
SpringClientFactory
clientFactory
)
{
return
new
RestClientRibbonCommandFactory
(
clientFactory
);
return
new
RestClientRibbonCommandFactory
(
clientFactory
,
zuulProperties
);
}
}
...
...
@@ -107,10 +115,14 @@ public class ZuulProxyConfiguration extends ZuulConfiguration {
@ConditionalOnProperty
(
"zuul.ribbon.okhttp.enabled"
)
@ConditionalOnClass
(
name
=
"okhttp3.OkHttpClient"
)
protected
static
class
OkHttpRibbonConfiguration
{
@Autowired
protected
ZuulProperties
zuulProperties
;
@Bean
@ConditionalOnMissingBean
public
RibbonCommandFactory
<?>
ribbonCommandFactory
(
SpringClientFactory
clientFactory
)
{
return
new
OkHttpRibbonCommandFactory
(
clientFactory
);
return
new
OkHttpRibbonCommandFactory
(
clientFactory
,
zuulProperties
);
}
}
...
...
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/ZuulProperties.java
View file @
7929dfec
...
...
@@ -31,10 +31,14 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import
org.springframework.util.ClassUtils
;
import
org.springframework.util.StringUtils
;
import
com.netflix.hystrix.HystrixCommandProperties.ExecutionIsolationStrategy
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
static
com
.
netflix
.
hystrix
.
HystrixCommandProperties
.
ExecutionIsolationStrategy
.
SEMAPHORE
;
/**
* @author Spencer Gibb
* @author Dave Syer
...
...
@@ -131,6 +135,10 @@ public class ZuulProperties {
*/
private
boolean
sslHostnameValidationEnabled
=
true
;
private
ExecutionIsolationStrategy
ribbonIsolationStrategy
=
SEMAPHORE
;
private
HystrixSemaphore
semaphore
=
new
HystrixSemaphore
();
public
Set
<
String
>
getIgnoredHeaders
()
{
Set
<
String
>
ignoredHeaders
=
new
LinkedHashSet
<>(
this
.
ignoredHeaders
);
if
(
ClassUtils
.
isPresent
(
...
...
@@ -298,6 +306,17 @@ public class ZuulProperties {
*/
private
int
maxPerRouteConnections
=
20
;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public
static
class
HystrixSemaphore
{
/**
* The maximum number of total semaphores for Hystrix.
*/
private
int
maxSemaphores
=
100
;
}
public
String
getServletPattern
()
{
String
path
=
this
.
servletPath
;
...
...
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/RestClientRibbonCommand.java
View file @
7929dfec
...
...
@@ -23,6 +23,7 @@ import java.io.InputStream;
import
java.net.URI
;
import
java.util.List
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
org.springframework.cloud.netflix.zuul.filters.route.support.AbstractRibbonCommand
;
import
org.springframework.util.MultiValueMap
;
...
...
@@ -33,9 +34,7 @@ import com.netflix.niws.client.http.RestClient;
/**
* Hystrix wrapper around Eureka Ribbon command
*
* see original
* https://github.com/Netflix/zuul/blob/master/zuul-netflix/src/main/java/com/
* netflix/zuul/dependency/ribbon/hystrix/RibbonCommand.java
* see <a href="https://github.com/Netflix/zuul/blob/master/zuul-netflix/src/main/java/com/netflix/zuul/dependency/ribbon/hystrix/RibbonCommand.java">original</a>
*/
@SuppressWarnings
(
"deprecation"
)
public
class
RestClientRibbonCommand
extends
AbstractRibbonCommand
<
RestClient
,
HttpRequest
,
HttpResponse
>
{
...
...
@@ -44,12 +43,14 @@ public class RestClientRibbonCommand extends AbstractRibbonCommand<RestClient, H
@Deprecated
public
RestClientRibbonCommand
(
String
commandKey
,
RestClient
restClient
,
HttpRequest
.
Verb
verb
,
String
uri
,
Boolean
retryable
,
MultiValueMap
<
String
,
String
>
headers
,
MultiValueMap
<
String
,
String
>
params
,
InputStream
requestEntity
)
{
this
(
commandKey
,
restClient
,
new
RibbonCommandContext
(
commandKey
,
verb
.
verb
(),
uri
,
retryable
,
headers
,
params
,
requestEntity
));
MultiValueMap
<
String
,
String
>
params
,
InputStream
requestEntity
,
ZuulProperties
zuulProperties
)
{
this
(
commandKey
,
restClient
,
new
RibbonCommandContext
(
commandKey
,
verb
.
verb
(),
uri
,
retryable
,
headers
,
params
,
requestEntity
),
zuulProperties
);
}
public
RestClientRibbonCommand
(
String
commandKey
,
RestClient
client
,
RibbonCommandContext
context
)
{
super
(
commandKey
,
client
,
context
);
public
RestClientRibbonCommand
(
String
commandKey
,
RestClient
client
,
RibbonCommandContext
context
,
ZuulProperties
zuulProperties
)
{
super
(
commandKey
,
client
,
context
,
zuulProperties
);
}
@Override
...
...
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/RestClientRibbonCommandFactory.java
View file @
7929dfec
...
...
@@ -17,28 +17,32 @@
package
org
.
springframework
.
cloud
.
netflix
.
zuul
.
filters
.
route
;
import
com.netflix.client.http.HttpRequest
;
import
org.springframework.cloud.netflix.ribbon.SpringClientFactory
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
com.netflix.client.http.HttpRequest
;
import
com.netflix.niws.client.http.RestClient
;
import
lombok.RequiredArgsConstructor
;
/**
* @author Spencer Gibb
*/
public
class
RestClientRibbonCommandFactory
implements
RibbonCommandFactory
<
RestClientRibbonCommand
>
{
@RequiredArgsConstructor
public
class
RestClientRibbonCommandFactory
implements
RibbonCommandFactory
<
RestClientRibbonCommand
>
{
private
final
SpringClientFactory
clientFactory
;
public
RestClientRibbonCommandFactory
(
SpringClientFactory
clientFactory
)
{
this
.
clientFactory
=
clientFactory
;
}
private
final
ZuulProperties
zuulProperties
;
@Override
@SuppressWarnings
(
"deprecation"
)
public
RestClientRibbonCommand
create
(
RibbonCommandContext
context
)
{
RestClient
restClient
=
this
.
clientFactory
.
getClient
(
context
.
getServiceId
(),
RestClient
.
class
);
return
new
RestClientRibbonCommand
(
context
.
getServiceId
(),
restClient
,
context
);
return
new
RestClientRibbonCommand
(
context
.
getServiceId
(),
restClient
,
context
,
this
.
zuulProperties
);
}
public
SpringClientFactory
getClientFactory
()
{
...
...
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommand.java
View file @
7929dfec
...
...
@@ -20,6 +20,7 @@ package org.springframework.cloud.netflix.zuul.filters.route.apache;
import
org.springframework.cloud.netflix.ribbon.apache.RibbonApacheHttpRequest
;
import
org.springframework.cloud.netflix.ribbon.apache.RibbonApacheHttpResponse
;
import
org.springframework.cloud.netflix.ribbon.apache.RibbonLoadBalancingHttpClient
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandContext
;
import
org.springframework.cloud.netflix.zuul.filters.route.support.AbstractRibbonCommand
;
...
...
@@ -29,8 +30,10 @@ import org.springframework.cloud.netflix.zuul.filters.route.support.AbstractRibb
public
class
HttpClientRibbonCommand
extends
AbstractRibbonCommand
<
RibbonLoadBalancingHttpClient
,
RibbonApacheHttpRequest
,
RibbonApacheHttpResponse
>
{
public
HttpClientRibbonCommand
(
final
String
commandKey
,
final
RibbonLoadBalancingHttpClient
client
,
RibbonCommandContext
context
)
{
super
(
commandKey
,
client
,
context
);
final
RibbonLoadBalancingHttpClient
client
,
final
RibbonCommandContext
context
,
final
ZuulProperties
zuulProperties
)
{
super
(
commandKey
,
client
,
context
,
zuulProperties
);
}
@Override
...
...
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandFactory.java
View file @
7929dfec
...
...
@@ -18,6 +18,7 @@ package org.springframework.cloud.netflix.zuul.filters.route.apache;
import
org.springframework.cloud.netflix.ribbon.SpringClientFactory
;
import
org.springframework.cloud.netflix.ribbon.apache.RibbonLoadBalancingHttpClient
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandContext
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandFactory
;
...
...
@@ -31,6 +32,8 @@ public class HttpClientRibbonCommandFactory implements
RibbonCommandFactory
<
HttpClientRibbonCommand
>
{
private
final
SpringClientFactory
clientFactory
;
private
final
ZuulProperties
zuulProperties
;
@Override
public
HttpClientRibbonCommand
create
(
final
RibbonCommandContext
context
)
{
...
...
@@ -39,7 +42,7 @@ public class HttpClientRibbonCommandFactory implements
serviceId
,
RibbonLoadBalancingHttpClient
.
class
);
client
.
setLoadBalancer
(
this
.
clientFactory
.
getLoadBalancer
(
serviceId
));
return
new
HttpClientRibbonCommand
(
serviceId
,
client
,
context
);
return
new
HttpClientRibbonCommand
(
serviceId
,
client
,
context
,
zuulProperties
);
}
}
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommand.java
View file @
7929dfec
...
...
@@ -20,6 +20,7 @@ package org.springframework.cloud.netflix.zuul.filters.route.okhttp;
import
org.springframework.cloud.netflix.ribbon.okhttp.OkHttpLoadBalancingClient
;
import
org.springframework.cloud.netflix.ribbon.okhttp.OkHttpRibbonRequest
;
import
org.springframework.cloud.netflix.ribbon.okhttp.OkHttpRibbonResponse
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandContext
;
import
org.springframework.cloud.netflix.zuul.filters.route.support.AbstractRibbonCommand
;
...
...
@@ -29,8 +30,10 @@ import org.springframework.cloud.netflix.zuul.filters.route.support.AbstractRibb
public
class
OkHttpRibbonCommand
extends
AbstractRibbonCommand
<
OkHttpLoadBalancingClient
,
OkHttpRibbonRequest
,
OkHttpRibbonResponse
>
{
public
OkHttpRibbonCommand
(
final
String
commandKey
,
final
OkHttpLoadBalancingClient
client
,
RibbonCommandContext
context
)
{
super
(
commandKey
,
client
,
context
);
final
OkHttpLoadBalancingClient
client
,
final
RibbonCommandContext
context
,
final
ZuulProperties
zuulProperties
)
{
super
(
commandKey
,
client
,
context
,
zuulProperties
);
}
@Override
...
...
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandFactory.java
View file @
7929dfec
...
...
@@ -18,6 +18,7 @@ package org.springframework.cloud.netflix.zuul.filters.route.okhttp;
import
org.springframework.cloud.netflix.ribbon.SpringClientFactory
;
import
org.springframework.cloud.netflix.ribbon.okhttp.OkHttpLoadBalancingClient
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandContext
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandFactory
;
...
...
@@ -31,6 +32,8 @@ public class OkHttpRibbonCommandFactory implements
RibbonCommandFactory
<
OkHttpRibbonCommand
>
{
private
final
SpringClientFactory
clientFactory
;
private
final
ZuulProperties
zuulProperties
;
@Override
public
OkHttpRibbonCommand
create
(
final
RibbonCommandContext
context
)
{
...
...
@@ -39,7 +42,7 @@ public class OkHttpRibbonCommandFactory implements
serviceId
,
OkHttpLoadBalancingClient
.
class
);
client
.
setLoadBalancer
(
this
.
clientFactory
.
getLoadBalancer
(
serviceId
));
return
new
OkHttpRibbonCommand
(
serviceId
,
client
,
context
);
return
new
OkHttpRibbonCommand
(
serviceId
,
client
,
context
,
zuulProperties
);
}
}
spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/support/AbstractRibbonCommand.java
View file @
7929dfec
...
...
@@ -18,6 +18,7 @@
package
org
.
springframework
.
cloud
.
netflix
.
zuul
.
filters
.
route
.
support
;
import
org.springframework.cloud.netflix.ribbon.RibbonHttpResponse
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommand
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandContext
;
import
org.springframework.http.client.ClientHttpResponse
;
...
...
@@ -32,39 +33,46 @@ import com.netflix.hystrix.HystrixCommand;
import
com.netflix.hystrix.HystrixCommandGroupKey
;
import
com.netflix.hystrix.HystrixCommandKey
;
import
com.netflix.hystrix.HystrixCommandProperties
;
import
com.netflix.hystrix.HystrixCommandProperties.ExecutionIsolationStrategy
;
import
com.netflix.zuul.constants.ZuulConstants
;
import
com.netflix.zuul.context.RequestContext
;
/**
* @author Spencer Gibb
*/
public
abstract
class
AbstractRibbonCommand
<
LBC
extends
AbstractLoadBalancerAwareClient
<
RQ
,
RS
>,
RQ
extends
ClientRequest
,
RS
extends
HttpResponse
>
extends
HystrixCommand
<
ClientHttpResponse
>
implements
RibbonCommand
{
public
abstract
class
AbstractRibbonCommand
<
LBC
extends
AbstractLoadBalancerAwareClient
<
RQ
,
RS
>,
RQ
extends
ClientRequest
,
RS
extends
HttpResponse
>
extends
HystrixCommand
<
ClientHttpResponse
>
implements
RibbonCommand
{
protected
final
LBC
client
;
protected
RibbonCommandContext
context
;
public
AbstractRibbonCommand
(
LBC
client
,
RibbonCommandContext
context
)
{
this
(
"default"
,
client
,
context
);
public
AbstractRibbonCommand
(
LBC
client
,
RibbonCommandContext
context
,
ZuulProperties
zuulProperties
)
{
this
(
"default"
,
client
,
context
,
zuulProperties
);
}
public
AbstractRibbonCommand
(
String
commandKey
,
LBC
client
,
RibbonCommandContext
context
)
{
super
(
getSetter
(
commandKey
));
public
AbstractRibbonCommand
(
String
commandKey
,
LBC
client
,
RibbonCommandContext
context
,
ZuulProperties
zuulProperties
)
{
super
(
getSetter
(
commandKey
,
zuulProperties
));
this
.
client
=
client
;
this
.
context
=
context
;
}
protected
static
Setter
getSetter
(
final
String
commandKey
)
{
protected
static
Setter
getSetter
(
final
String
commandKey
,
ZuulProperties
zuulProperties
)
{
// we want to default to semaphore-isolation since this wraps
// 2 others commands that are already thread isolated
// @formatter:off
final
String
name
=
ZuulConstants
.
ZUUL_EUREKA
+
commandKey
+
".semaphore.maxSemaphores"
;
final
DynamicIntProperty
value
=
DynamicPropertyFactory
.
getInstance
()
.
getIntProperty
(
name
,
100
);
final
HystrixCommandProperties
.
Setter
setter
=
HystrixCommandProperties
.
Setter
()
.
withExecutionIsolationStrategy
(
HystrixCommandProperties
.
ExecutionIsolationStrategy
.
SEMAPHORE
)
.
withExecutionIsolationSemaphoreMaxConcurrentRequests
(
value
.
get
());
final
HystrixCommandProperties
.
Setter
setter
=
HystrixCommandProperties
.
Setter
()
.
withExecutionIsolationStrategy
(
zuulProperties
.
getRibbonIsolationStrategy
());
if
(
zuulProperties
.
getRibbonIsolationStrategy
()
==
ExecutionIsolationStrategy
.
SEMAPHORE
){
final
String
name
=
ZuulConstants
.
ZUUL_EUREKA
+
commandKey
+
".semaphore.maxSemaphores"
;
// we want to default to semaphore-isolation since this wraps
// 2 others commands that are already thread isolated
final
DynamicIntProperty
value
=
DynamicPropertyFactory
.
getInstance
()
.
getIntProperty
(
name
,
100
);
setter
.
withExecutionIsolationSemaphoreMaxConcurrentRequests
(
value
.
get
());
}
else
{
// FIXME Find out which parameters can be set here
}
return
Setter
.
withGroupKey
(
HystrixCommandGroupKey
.
Factory
.
asKey
(
"RibbonCommand"
))
.
andCommandKey
(
HystrixCommandKey
.
Factory
.
asKey
(
commandKey
+
"RibbonCommand"
))
.
andCommandPropertiesDefaults
(
setter
);
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/RestClientRibbonCommandTests.java
View file @
7929dfec
...
...
@@ -29,8 +29,10 @@ import java.net.URI;
import
java.nio.charset.Charset
;
import
java.util.Collections
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.springframework.cloud.netflix.ribbon.support.RibbonRequestCustomizer
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.StreamUtils
;
...
...
@@ -41,6 +43,13 @@ import com.netflix.client.http.HttpRequest;
*/
public
class
RestClientRibbonCommandTests
{
private
ZuulProperties
zuulProperties
;
@Before
public
void
setUp
()
{
zuulProperties
=
new
ZuulProperties
();
}
@Test
public
void
testNullEntity
()
throws
Exception
{
String
uri
=
"http://example.com"
;
...
...
@@ -49,7 +58,7 @@ public class RestClientRibbonCommandTests {
LinkedMultiValueMap
<
String
,
String
>
params
=
new
LinkedMultiValueMap
<>();
params
.
add
(
"myparam"
,
"myparamval"
);
RestClientRibbonCommand
command
=
new
RestClientRibbonCommand
(
"cmd"
,
null
,
new
RibbonCommandContext
(
"example"
,
"GET"
,
uri
,
false
,
headers
,
params
,
null
));
headers
,
params
,
null
)
,
zuulProperties
);
HttpRequest
request
=
command
.
createRequest
();
...
...
@@ -96,7 +105,7 @@ public class RestClientRibbonCommandTests {
uri
.
toString
(),
false
,
headers
,
new
LinkedMultiValueMap
<
String
,
String
>(),
requestEntity
,
Collections
.
singletonList
(
requestCustomizer
));
context
.
setContentLength
(
length
);
RestClientRibbonCommand
command
=
new
RestClientRibbonCommand
(
"cmd"
,
null
,
context
);
RestClientRibbonCommand
command
=
new
RestClientRibbonCommand
(
"cmd"
,
null
,
context
,
zuulProperties
);
HttpRequest
request
=
command
.
createRequest
();
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/apache/HttpClientRibbonCommandIntegrationTests.java
View file @
7929dfec
...
...
@@ -37,6 +37,7 @@ import org.springframework.cloud.netflix.ribbon.SpringClientFactory;
import
org.springframework.cloud.netflix.ribbon.StaticServerList
;
import
org.springframework.cloud.netflix.ribbon.apache.RibbonLoadBalancingHttpClient
;
import
org.springframework.cloud.netflix.zuul.EnableZuulProxy
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandFactory
;
import
org.springframework.cloud.netflix.zuul.filters.route.support.ZuulProxyTestBase
;
import
org.springframework.context.annotation.Bean
;
...
...
@@ -178,7 +179,7 @@ public class HttpClientRibbonCommandIntegrationTests extends ZuulProxyTestBase {
@Bean
public
RibbonCommandFactory
<?>
ribbonCommandFactory
(
final
SpringClientFactory
clientFactory
)
{
return
new
HttpClientRibbonCommandFactory
(
clientFactory
);
return
new
HttpClientRibbonCommandFactory
(
clientFactory
,
new
ZuulProperties
()
);
}
@Bean
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonCommandIntegrationTests.java
View file @
7929dfec
...
...
@@ -32,6 +32,7 @@ import org.springframework.cloud.netflix.ribbon.RibbonClient;
import
org.springframework.cloud.netflix.ribbon.RibbonClients
;
import
org.springframework.cloud.netflix.ribbon.SpringClientFactory
;
import
org.springframework.cloud.netflix.zuul.EnableZuulProxy
;
import
org.springframework.cloud.netflix.zuul.filters.ZuulProperties
;
import
org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandFactory
;
import
org.springframework.cloud.netflix.zuul.filters.route.support.ZuulProxyTestBase
;
import
org.springframework.context.annotation.Bean
;
...
...
@@ -109,7 +110,7 @@ public class OkHttpRibbonCommandIntegrationTests extends ZuulProxyTestBase {
@Bean
public
RibbonCommandFactory
<?>
ribbonCommandFactory
(
final
SpringClientFactory
clientFactory
)
{
return
new
OkHttpRibbonCommandFactory
(
clientFactory
);
return
new
OkHttpRibbonCommandFactory
(
clientFactory
,
new
ZuulProperties
()
);
}
@Bean
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/restclient/RestClientRibbonCommandIntegrationTests.java
View file @
7929dfec
...
...
@@ -307,7 +307,7 @@ public class RestClientRibbonCommandIntegrationTests extends ZuulProxyTestBase {
private
SpringClientFactory
clientFactory
;
public
MyRibbonCommandFactory
(
SpringClientFactory
clientFactory
)
{
super
(
clientFactory
);
super
(
clientFactory
,
new
ZuulProperties
()
);
this
.
clientFactory
=
clientFactory
;
}
...
...
@@ -333,7 +333,7 @@ public class RestClientRibbonCommandIntegrationTests extends ZuulProxyTestBase {
public
MyCommand
(
int
errorCode
,
String
commandKey
,
RestClient
restClient
,
RibbonCommandContext
context
)
{
super
(
commandKey
,
restClient
,
context
);
super
(
commandKey
,
restClient
,
context
,
new
ZuulProperties
()
);
this
.
errorCode
=
errorCode
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment