目录
一、 服务启动时报错failed: Connection refused: connect
二、com.alibaba.fastjson.JSONException: expect ‘[’, but int, pos 1, line 1, column 20
一、服务启动时报错failed: Connection refused: connect
2023-12-18T10:43:40,169 INFO [main] com.netflix.discovery.DiscoveryClient: Getting all instance registry info from the eureka server
2023-12-18T10:43:40,362 INFO [main] com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient: Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://localhost:8078/eureka/}, exception=I/O error on GET request for "http://localhost:8078/eureka/apps/": Connect to localhost:8078 [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:8078 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect stacktrace=org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:8078/eureka/apps/": Connect to localhost:8078 [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:8078 [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:791)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:717)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:608)
2023-12-18T10:44:40,460 WARN [DiscoveryClient-InstanceInfoReplicator-0] com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient: Request execution failed with message: I/O error on POST request for "http://localhost:8078/eureka/apps/JUSHU-DATA": Connect to localhost:8078 [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:8078 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
2023-12-18T10:44:40,460 WARN [DiscoveryClient-InstanceInfoReplicator-0] com.netflix.discovery.DiscoveryClient: DiscoveryClient_JUSHU-DATA/jushu-data:8091 - registration failed Cannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:876)
at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2023-12-18T10:44:40,460 WARN [DiscoveryClient-InstanceInfoReplicator-0] com.netflix.discovery.InstanceInfoReplicator: There was a problem with the instance info replicator
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:876)
at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2023-12-18T10:44:40,460 WARN [DiscoveryClient-InstanceInfoReplicator-0] com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient: Request execution failed with message: I/O error on POST request for "http://localhost:8078/eureka/apps/JUSHU-DATA": Connect to localhost:8078 [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:8078 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
我的项目是springboot+eureka,根据这段信息我可以看出是因为启动连接不到我本地的eureka服务报错的。那么解决方案如下:
-
确保目标主机上的服务正在运行:请确保在本地主机上启动并运行了名为 "DATA" 的服务,并且服务正在监听端口 8078。
-
检查网络连接:确认目标主机的 IP 地址和端口号是否正确。同时确保主机和端口没有被防火墙或其他网络设备阻止。
-
检查应用程序配置:检查应用程序的配置文件,确保其中包含正确的主机名和端口号。如果应用程序使用了环境变量或属性文件,请确保这些值是正确的。
-
检查服务是否正常运行:连接到目标主机上的浏览器或使用 curl 命令尝试访问 "http://localhost:8078/eureka/apps/DATA",看是否能够成功获取响应。如果无法获取响应,则表示服务可能未正确启动或存在其他问题。
-
检查服务日志:查看服务的日志文件,以查找任何与连接问题相关的错误消息。可能会提供更多有关问题的线索。
确保所连接的eureka服务可以正常连接到,基本上就解决问题了
二、com.alibaba.fastjson.JSONException: expect ‘[’, but int, pos 1, line 1, column 20
错误概况:
com.alibaba.fastjson.JSONException: expect ‘[’, but int, pos 1, line 1, column 20
解决:
检查数据是否是json数组类型的,如果不是修改数据,或者增加判断。