簡體   English   中英

Spring RestTemplate 在 Spring 引導控制台應用程序中使用時會超時

[英]Spring RestTemplate gives timeout when used in Spring Boot console app

我正在使用以下代碼塊來調用外部應用程序:

String accessToken = "...";
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + accessToken);
headers.set("Content-Type", "application/json");
HttpEntity<String> request = new HttpEntity<String>(UPDATE_BODY, headers);
String url = "...<url>...";
ResponseEntity<String> result = restTemplate.exchange(url, HttpMethod.POST, request, String.class);

當我在 Spring 啟動 web 應用程序中使用代碼塊時,它工作正常。 但是,當在 Spring 引導控制台應用程序中運行相同的塊時,我收到以下錯誤:

java.lang.IllegalStateException: Failed to execute CommandLineRunner
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:787) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
    at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:322) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
    at org.camunda.bpm.spring.boot.example.webapp.CallApplication.main(CallApplication.java:43) [classes/:na]
Caused by: org.springframework.web.client.ResourceAccessException: I/O error on POST request for "<...url...>": Connection timed out: connect; nested exception is java.net.ConnectException: Connection timed out: connect
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:748) ~[spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE]
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:674) ~[spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE]
    at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:583) ~[spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE]
    at org.camunda.bpm.spring.boot.example.webapp.delegate.CreateIdentityRecordDelegate.execute(CreateIdentityRecordDelegate.java:58) ~[classes/:na]
    at org.camunda.bpm.spring.boot.example.webapp.CallApplication.run(CallApplication.java:48) [classes/:na]
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
    ... 5 common frames omitted
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) ~[na:1.8.0_261]
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) ~[na:1.8.0_261]
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) ~[na:1.8.0_261]
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) ~[na:1.8.0_261]
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_261]
    at java.net.PlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_261]
    at java.net.SocksSocketImpl.connect(Unknown Source) ~[na:1.8.0_261]
    at java.net.Socket.connect(Unknown Source) ~[na:1.8.0_261]
    at sun.security.ssl.SSLSocketImpl.connect(Unknown Source) ~[na:1.8.0_261]
    at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source) ~[na:1.8.0_261]
    at sun.net.NetworkClient.doConnect(Unknown Source) ~[na:1.8.0_261]
    at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[na:1.8.0_261]
    at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[na:1.8.0_261]
    at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source) ~[na:1.8.0_261]
    at sun.net.www.protocol.https.HttpsClient.New(Unknown Source) ~[na:1.8.0_261]
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source) ~[na:1.8.0_261]
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) ~[na:1.8.0_261]
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ~[na:1.8.0_261]
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) ~[na:1.8.0_261]
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) ~[na:1.8.0_261]
    at org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:76) ~[spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE]
    at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) ~[spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE]
    at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53) ~[spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE]
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:739) ~[spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE]
    ... 10 common frames omitted

歡迎任何幫助或線索。

由於某種原因,需要為命令行配置代理,而無需為 web 應用程序配置代理。 不知道從哪里得到配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM