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
78ba3c53
Commit
78ba3c53
authored
Jul 11, 2017
by
Ryan Baxter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleanup and code review fixes.
parent
56ccc46f
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
23 additions
and
27 deletions
+23
-27
spring-cloud-netflix.adoc
docs/src/main/asciidoc/spring-cloud-netflix.adoc
+11
-3
OkHttpClientConfigurationTests.java
...ix-core/src/test/java/OkHttpClientConfigurationTests.java
+5
-4
ApacheHttpClientConfigurationTests.java
...ork/cloud/netflix/ApacheHttpClientConfigurationTests.java
+5
-5
FeignHttpClientUrlTests.java
...ramework/cloud/netflix/feign/FeignHttpClientUrlTests.java
+1
-1
CustomHostRoutingFilterTests.java
...ud/netflix/zuul/filters/CustomHostRoutingFilterTests.java
+0
-13
OkHttpRibbonRetryIntegrationTests.java
...lters/route/okhttp/OkHttpRibbonRetryIntegrationTests.java
+1
-1
No files found.
docs/src/main/asciidoc/spring-cloud-netflix.adoc
View file @
78ba3c53
...
...
@@ -11,9 +11,6 @@
include
::
intro
.
adoc
[]
==
HTTP
Clients
==
Service
Discovery
:
Eureka
Clients
...
...
@@ -2511,3 +2508,14 @@ method to determine whether you want to retry a request given the status code.
You
can
turn
off
Zuul
's retry functionality by setting `zuul.retryable` to `false`. You
can also disable retry functionality on route by route basis by setting
`zuul.routes.routename.retryable` to `false`.
== HTTP Clients
Spring Cloud Netflix will automatically create the HTTP client used by Ribbon, Feign, and
Zuul for you. However you can also provide your own HTTP clients customized how you please
yourself. To do this you can either create a bean of type `ClosableHttpClient` if you
are using the Apache Http Cient, or `OkHttpClient` if you are using OK HTTP.
NOTE: When you create your own HTTP client you are also responsible for implementing
the correct connection management strategies for these clients. Doing this improperly
can result in resource management issues.
spring-cloud-netflix-core/src/test/java/OkHttpClientConfigurationTests.java
View file @
78ba3c53
...
...
@@ -25,6 +25,7 @@ import java.util.ArrayList;
import
java.util.concurrent.TimeUnit
;
import
javax.net.ssl.SSLSocketFactory
;
import
javax.net.ssl.X509TrustManager
;
import
org.assertj.core.api.Assertions
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.MockingDetails
;
...
...
@@ -79,10 +80,10 @@ public class OkHttpClientConfigurationTests {
@Test
public
void
testFactories
()
{
assertTrue
(
OkHttpClientConnectionPoolFactory
.
class
.
isInstance
(
connectionPoolFactory
)
);
assertTrue
(
OkHttpClientConfigurationTestApp
.
MyOkHttpClientConnectionPoolFactory
.
class
.
isInstance
(
connectionPoolFactory
)
);
assertTrue
(
OkHttpClientFactory
.
class
.
isInstance
(
okHttpClientFactory
)
);
assertTrue
(
OkHttpClientConfigurationTestApp
.
MyOkHttpClientFactory
.
class
.
isInstance
(
okHttpClientFactory
)
);
Assertions
.
assertThat
(
connectionPoolFactory
).
isInstanceOf
(
OkHttpClientConnectionPoolFactory
.
class
);
Assertions
.
assertThat
(
connectionPoolFactory
).
isInstanceOf
(
OkHttpClientConfigurationTestApp
.
MyOkHttpClientConnectionPoolFactory
.
class
);
Assertions
.
assertThat
(
okHttpClientFactory
).
isInstanceOf
(
OkHttpClientFactory
.
class
);
Assertions
.
assertThat
(
okHttpClientFactory
).
isInstanceOf
(
OkHttpClientConfigurationTestApp
.
MyOkHttpClientFactory
.
class
);
}
@Test
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ApacheHttpClientConfigurationTests.java
View file @
78ba3c53
...
...
@@ -28,7 +28,6 @@ import java.util.concurrent.TimeUnit;
import
org.apache.http.Header
;
import
org.apache.http.StatusLine
;
import
org.apache.http.client.HttpClient
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.HttpUriRequest
;
import
org.apache.http.config.RegistryBuilder
;
...
...
@@ -37,6 +36,7 @@ import org.apache.http.impl.client.CloseableHttpClient;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
;
import
org.apache.http.message.BasicHeader
;
import
org.assertj.core.api.Assertions
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.MockingDetails
;
...
...
@@ -98,10 +98,10 @@ public class ApacheHttpClientConfigurationTests {
@Test
public
void
testFactories
()
{
assertTrue
(
ApacheHttpClientConnectionManagerFactory
.
class
.
isInstance
(
connectionManagerFactory
)
);
assertTrue
(
ApacheHttpClientConfigurationTestApp
.
MyApacheHttpClientConnectionManagerFactory
.
class
.
isInstance
(
connectionManagerFactory
)
);
assertTrue
(
ApacheHttpClientFactory
.
class
.
isInstance
(
httpClientFactory
)
);
assertTrue
(
ApacheHttpClientConfigurationTestApp
.
MyApacheHttpClientFactory
.
class
.
isInstance
(
httpClientFactory
)
);
Assertions
.
assertThat
(
connectionManagerFactory
).
isInstanceOf
(
ApacheHttpClientConnectionManagerFactory
.
class
);
Assertions
.
assertThat
(
connectionManagerFactory
).
isInstanceOf
(
ApacheHttpClientConfigurationTestApp
.
MyApacheHttpClientConnectionManagerFactory
.
class
);
Assertions
.
assertThat
(
httpClientFactory
).
isInstanceOf
(
ApacheHttpClientFactory
.
class
);
Assertions
.
assertThat
(
httpClientFactory
).
isInstanceOf
(
ApacheHttpClientConfigurationTestApp
.
MyApacheHttpClientFactory
.
class
);
}
@Test
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignHttpClientUrlTests.java
View file @
78ba3c53
...
...
@@ -58,7 +58,7 @@ import lombok.NoArgsConstructor;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringBootTest
(
classes
=
FeignHttpClientUrlTests
.
TestConfig
.
class
,
webEnvironment
=
WebEnvironment
.
DEFINED_PORT
,
value
=
{
"spring.application.name=feignclienturltest"
,
"feign.hystrix.enabled=false"
,
"
spring.cloud.httpclientfactories.ok
.enabled=false"
})
"
feign.okhttp
.enabled=false"
})
@DirtiesContext
public
class
FeignHttpClientUrlTests
{
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/CustomHostRoutingFilterTests.java
View file @
78ba3c53
...
...
@@ -254,19 +254,6 @@ class SampleCustomZuulProxyApplication {
private
class
CustomApacheHttpClientFactory
extends
DefaultApacheHttpClientFactory
{
//@Override
//public HttpClientBuilder createBuilder() {
// return HttpClients.custom()
// .setDefaultCookieStore(new BasicCookieStore())
// .setDefaultRequestConfig(RequestConfig.custom()
// .setCookieSpec(CookieSpecs.DEFAULT).build());
//}public CloseableHttpClient createClient(RequestConfig requestConfig, HttpClientConnectionManager connectionManager) {
// return HttpClients.custom().setConnectionManager(connectionManager)
// .setDefaultCookieStore(new BasicCookieStore())
// .setDefaultRequestConfig(RequestConfig.custom()
// .setCookieSpec(CookieSpecs.DEFAULT).build())
// .build();
// }
}
}
...
...
spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/filters/route/okhttp/OkHttpRibbonRetryIntegrationTests.java
View file @
78ba3c53
...
...
@@ -30,7 +30,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@SpringBootTest
(
classes
=
RibbonRetryIntegrationTestBase
.
RetryableTestConfig
.
class
,
webEnvironment
=
SpringBootTest
.
WebEnvironment
.
RANDOM_PORT
,
value
=
{
"zuul.retryable: false"
,
/* Disable retry by default, have each route enable it */
"ribbon.okhttp.enabled"
,
"ribbon.okhttp.enabled
: true
"
,
"hystrix.command.default.execution.timeout.enabled: false"
,
/* Disable hystrix so its timeout doesnt get in the way */
"ribbon.ReadTimeout: 1000"
,
/* Make sure ribbon will timeout before the thread is done sleeping */
"zuul.routes.retryable: /retryable/**"
,
...
...
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