org.springframework.web.client.ResourceAccessException:获取微服务中的请求时发生I/O错误

org.springframework.web.client.ResourceAccessException:获取微服务中的请求时发生I/O错误,spring,spring-boot,microservices,Spring,Spring Boot,Microservices,我正在从以下链接开发微服务代码:。在这个代码库中,我成功地启动了诸如“配置服务”,“服务注册表”,“shoppingcart ui”,“zipkin服务器”等服务,但当我尝试启动“库存服务”时,我得到了以下错误 以下错误供参考:- org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:8200/v1/secret/inventory-servic

我正在从以下链接开发微服务代码:。在这个代码库中,我成功地启动了诸如
“配置服务”
“服务注册表”
“shoppingcart ui”
“zipkin服务器”
等服务,但当我尝试启动
“库存服务”
时,我得到了以下错误

以下错误供参考:-

org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:8200/v1/secret/inventory-service": Connect to localhost:8200 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect; nested exception is org.apache.http.conn.HttpHostConnectException: Connect to localhost:8200 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:732) ~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:680) ~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:332) ~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.vault.core.VaultTemplate.lambda$doRead$1(VaultTemplate.java:320) ~[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.vault.core.VaultTemplate.doWithSession(VaultTemplate.java:307) ~[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.vault.core.VaultTemplate.doRead(VaultTemplate.java:317) ~[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.vault.core.VaultTemplate.read(VaultTemplate.java:212) ~[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.vault.core.lease.SecretLeaseContainer.doGetSecrets(SecretLeaseContainer.java:545) [spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.vault.core.lease.SecretLeaseContainer.start(SecretLeaseContainer.java:357) [spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.vault.core.lease.SecretLeaseContainer.addRequestedSecret(SecretLeaseContainer.java:316) [spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.vault.core.env.LeaseAwareVaultPropertySource.loadProperties(LeaseAwareVaultPropertySource.java:147) [spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.vault.core.env.LeaseAwareVaultPropertySource.<init>(LeaseAwareVaultPropertySource.java:133) [spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.cloud.vault.config.LeasingVaultPropertySourceLocator.createVaultPropertySource(LeasingVaultPropertySourceLocator.java:151) [spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.cloud.vault.config.LeasingVaultPropertySourceLocator.createVaultPropertySource(LeasingVaultPropertySourceLocator.java:88) [spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.cloud.vault.config.VaultPropertySourceLocatorSupport.doCreatePropertySources(VaultPropertySourceLocatorSupport.java:170) [spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.cloud.vault.config.VaultPropertySourceLocatorSupport.createCompositePropertySource(VaultPropertySourceLocatorSupport.java:145) [spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.cloud.vault.config.VaultPropertySourceLocatorSupport.locate(VaultPropertySourceLocatorSupport.java:116) [spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration.initialize(PropertySourceBootstrapConfiguration.java:94) [spring-cloud-context-2.0.1.RELEASE.jar:2.0.1.RELEASE]
    at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:636) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
    at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:376) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:328) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1258) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
    at com.sivalabs.inventoryservice.InventoryServiceApplication.main(InventoryServiceApplication.java:12) [classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_162]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_162]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_162]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_162]
org.springframework.web.client.ResourceAccessException:获取请求时发生I/O错误“http://localhost:8200/v1/secret/inventory-服务“:连接到localhost:8200[localhost/127.0.0.1,localhost/0:0:0:0:0:1]失败:连接被拒绝:连接;嵌套异常为org.apache.http.conn.HttpHostConnectException:Connect to localhost:8200[localhost/127.0.0.1,localhost/0:0:0:0:0:1]失败:连接被拒绝:连接
在org.springframework.web.client.restemplate.doExecute(restemplate.java:732)~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
在org.springframework.web.client.restemplate.execute(restemplate.java:680)~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
在org.springframework.web.client.restemplate.getForObject(restemplate.java:332)~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
在org.springframework.vault.core.VaultTemplate.lambda$doRead$1(VaultTemplate.java:320)~[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.vault.core.VaultTemplate.doWithSession(VaultTemplate.java:307)~[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.vault.core.VaultTemplate.doRead(VaultTemplate.java:317)~[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.vault.core.VaultTemplate.read(VaultTemplate.java:212)~[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.vault.core.lease.SecretLeaseContainer.doGetSecrets(SecretLeaseContainer.java:545)[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.vault.core.lease.SecretLeaseContainer.start(SecretLeaseContainer.java:357)[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.vault.core.lease.SecretLeaseContainer.addRequestedSecret(SecretLeaseContainer.java:316)[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.vault.core.env.LeaseAwareVaultPropertySource.loadProperties(LeaseAwareVaultPropertySource.java:147)[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
位于org.springframework.vault.core.env.LeaseAwareVaultPropertySource.(LeaseAwareVaultPropertySource.java:133)[spring-vault-core-2.0.1.RELEASE.jar:2.0.1.RELEASE]
位于org.springframework.cloud.vault.config.LeasingVaultPropertySourceLocator.createvaultpropertysourcelocator(LeasingVaultPropertySourceLocator.java:151)[spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.cloud.vault.config.LeasingVaultPropertySourceLocator.createvaultpropertysourcelocator(LeasingVaultPropertySourceLocator.java:88)[spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
位于org.springframework.cloud.vault.config.VaultPropertySourceLocatorSupport.docreatePropertySourceLocatorSupport(VaultPropertySourceLocatorSupport.java:170)[spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
位于org.springframework.cloud.vault.config.VaultPropertySourceLocatorSupport.createCompositePropertySourceLocatorSupport(VaultPropertySourceLocatorSupport.java:145)[spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
位于org.springframework.cloud.vault.config.VaultPropertySourceLocatorSupport.locate(VaultPropertySourceLocatorSupport.java:116)[spring-cloud-vault-config-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration.initialize(PropertySourceBootstrapConfiguration.java:94)[spring-cloud-context-2.0.1.RELEASE.jar:2.0.1.RELEASE]
在org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:636)[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
在org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:376)[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:328)[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:1258)[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:1246)[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
位于com.sivalbs.inventoryservice.InventoryServiceApplication.main(InventoryServiceApplication.java:12)[classes/:na]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.8.0_162]
在sun.reflect.NativeMethodAccessorImpl.invoke(未知源)~[na:1.8.0_162]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)~[na:1.8.0_162]
在java.lang.reflect.Method.invoke(未知源代码)~[na:1.8.0_162]
我将父pom版本更新为2.0.4.版本。


确保vault按照microservice配置运行:

# Vault
spring.cloud.vault.host=localhost
spring.cloud.vault.port=8200

通常,当服务未在端口上运行时,您可以
拒绝连接
错误。

您是否运行了github页面上列出的所有docker命令?我在本地运行代码。我们需要调整任何东西来运行没有docker的代码吗。但它显然无法连接到端口
8200
,即保险库。vault是否已启动并正在运行?是否可以使用docker运行?如果没有本地vault正在运行,请至少使用
docker compose up-d setup vault
。您的错误表明与vault的连接失败。这并不能解决问题。Vault服务已启动并正在运行,可以从终端使用Vault CLI或culr进行访问