From fa3c0035e00fad9b68f9c1b9345ec487a3892913 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Tue, 15 Nov 2016 09:52:35 +0000 Subject: [PATCH] Use apache HTTP client instead of JDK Never got to the bottom of this, but the test failure with the dropped connection (EOF on socket) seems to go away if we use the Apache client instead of the JDK. --- samples/standalone/dsl/http-client/pom.xml | 4 ++++ .../main/java/com/example/loan/LoanApplicationService.java | 7 +++++-- .../loan/LoanApplicationServiceContextPathTests.java | 4 ---- .../dsl/http-client/src/test/resources/application.yaml | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/samples/standalone/dsl/http-client/pom.xml b/samples/standalone/dsl/http-client/pom.xml index 651b7192f3..f1dd1d29dc 100644 --- a/samples/standalone/dsl/http-client/pom.xml +++ b/samples/standalone/dsl/http-client/pom.xml @@ -32,6 +32,10 @@ org.springframework.boot spring-boot-starter-actuator + + org.apache.httpcomponents + httpclient + diff --git a/samples/standalone/dsl/http-client/src/main/java/com/example/loan/LoanApplicationService.java b/samples/standalone/dsl/http-client/src/main/java/com/example/loan/LoanApplicationService.java index 8b38706c63..5c397e6144 100644 --- a/samples/standalone/dsl/http-client/src/main/java/com/example/loan/LoanApplicationService.java +++ b/samples/standalone/dsl/http-client/src/main/java/com/example/loan/LoanApplicationService.java @@ -1,5 +1,7 @@ package com.example.loan; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -24,8 +26,9 @@ public class LoanApplicationService { private int port = 6565; - public LoanApplicationService() { - this.restTemplate = new RestTemplate(); + @Autowired + public LoanApplicationService(RestTemplateBuilder builder) { + this.restTemplate = builder.build(); } public LoanApplicationResult loanApplication(LoanApplication loanApplication) { diff --git a/samples/standalone/dsl/http-client/src/test/java/com/example/loan/LoanApplicationServiceContextPathTests.java b/samples/standalone/dsl/http-client/src/test/java/com/example/loan/LoanApplicationServiceContextPathTests.java index 09be30344a..4aa608011d 100644 --- a/samples/standalone/dsl/http-client/src/test/java/com/example/loan/LoanApplicationServiceContextPathTests.java +++ b/samples/standalone/dsl/http-client/src/test/java/com/example/loan/LoanApplicationServiceContextPathTests.java @@ -16,13 +16,11 @@ import com.example.loan.model.LoanApplication; import com.example.loan.model.LoanApplicationResult; import com.example.loan.model.LoanApplicationStatus; -// tag::autoconfigure_stubrunner[] @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment=WebEnvironment.NONE, properties="server.context-path=/app") @AutoConfigureStubRunner(ids = {"com.example:http-server-dsl:+:stubs:6565"}, workOffline = true) @DirtiesContext public class LoanApplicationServiceContextPathTests { -// end::autoconfigure_stubrunner[] @Autowired private LoanApplicationService service; @@ -40,7 +38,6 @@ public class LoanApplicationServiceContextPathTests { assertThat(loanApplication.getRejectionReason()).isNull(); } - // tag::client_tdd[] @Test public void shouldBeRejectedDueToAbnormalLoanAmount() { // given: @@ -53,6 +50,5 @@ public class LoanApplicationServiceContextPathTests { .isEqualTo(LoanApplicationStatus.LOAN_APPLICATION_REJECTED); assertThat(loanApplication.getRejectionReason()).isEqualTo("Amount too high"); } - // end::client_tdd[] } diff --git a/samples/standalone/dsl/http-client/src/test/resources/application.yaml b/samples/standalone/dsl/http-client/src/test/resources/application.yaml index 698f3a3d73..21459f2953 100644 --- a/samples/standalone/dsl/http-client/src/test/resources/application.yaml +++ b/samples/standalone/dsl/http-client/src/test/resources/application.yaml @@ -1,2 +1,2 @@ server: - port: 6565 \ No newline at end of file + port: 6565