SpringBoot4.x + SpringCloudConsul 5.0.1集成后启动报错
项目升级SpringBoot4.x + SpringCloudConsul 5.0.1后,启动报错:
2026-05-07T16:39:50.921+08:00 WARN 33335 --- [local-test] [TaskScheduler-1] o.s.cloud.consul.config.ConfigWatch : Error querying consul Key/Values for context 'config/local-test,dev/'. Message: I/O error on GET request for "http://192.168.1.224:8500/v1/kv/config/local-test,dev/": java.lang.InterruptedException
2026-05-07T16:39:50.923+08:00 WARN 33335 --- [local-test] [TaskScheduler-1] o.s.cloud.consul.config.ConfigWatch : Error querying consul Key/Values for context 'config/local-test/'. Message: I/O error on GET request for "http://192.168.1.224:8500/v1/kv/config/local-test/": java.lang.InterruptedException
2026-05-07T16:39:50.923+08:00 WARN 33335 --- [local-test] [TaskScheduler-1] o.s.cloud.consul.config.ConfigWatch : Error querying consul Key/Values for context 'config/application,dev/'. Message: I/O error on GET request for "http://192.168.1.224:8500/v1/kv/config/application,dev/": java.lang.InterruptedException
2026-05-07T16:39:50.924+08:00 WARN 33335 --- [local-test] [TaskScheduler-1] o.s.cloud.consul.config.ConfigWatch : Error querying consul Key/Values for context 'config/application/'. Message: I/O error on GET request for "http://192.168.1.224:8500/v1/kv/config/application/": java.lang.InterruptedException
2026-05-07T16:39:53.024+08:00 ERROR 33335 --- [local-test] [ main] o.s.boot.SpringApplication : Application run failed
org.springframework.context.ApplicationContextException: Failed to start bean 'inputBindingLifecycle'
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:423) ~[spring-context-7.0.5.jar:7.0.5]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:409) ~[spring-context-7.0.5.jar:7.0.5]
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:613) ~[spring-context-7.0.5.jar:7.0.5]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:379) ~[spring-context-7.0.5.jar:7.0.5]
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:306) ~[spring-context-7.0.5.jar:7.0.5]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:1013) ~[spring-context-7.0.5.jar:7.0.5]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) ~[spring-context-7.0.5.jar:7.0.5]
at org.springframework.boot.web.server.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:69) ~[spring-boot-web-server-4.0.3.jar:4.0.3]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) ~[spring-boot-4.0.3.jar:4.0.3]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) ~[spring-boot-4.0.3.jar:4.0.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-4.0.3.jar:4.0.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) ~[spring-boot-4.0.3.jar:4.0.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-4.0.3.jar:4.0.3]
at com.test.Applcation.main(Applcation.java:10) ~[classes/:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'eventService': Invocation of init method failed
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:220) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:426) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1809) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1218) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1184) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1121) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:994) ~[spring-context-7.0.5.jar:7.0.5]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) ~[spring-context-7.0.5.jar:7.0.5]
at org.springframework.cloud.stream.binder.DefaultBinderFactory.initializeBinderContextSimple(DefaultBinderFactory.java:540) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at org.springframework.cloud.stream.binder.DefaultBinderFactory.getBinderInstance(DefaultBinderFactory.java:384) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at org.springframework.cloud.stream.binder.DefaultBinderFactory.doGetBinderConventional(DefaultBinderFactory.java:325) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at org.springframework.cloud.stream.binder.DefaultBinderFactory.doGetBinder(DefaultBinderFactory.java:214) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at org.springframework.cloud.stream.binder.DefaultBinderFactory.getBinder(DefaultBinderFactory.java:197) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at org.springframework.cloud.stream.binding.BindingService.getBinder(BindingService.java:422) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at org.springframework.cloud.stream.binding.BindingService.bindConsumer(BindingService.java:110) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at org.springframework.cloud.stream.binding.AbstractBindableProxyFactory.createAndBindInputs(AbstractBindableProxyFactory.java:99) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at org.springframework.cloud.stream.binding.InputBindingLifecycle.doStartWithBindable(InputBindingLifecycle.java:59) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at java.base/java.util.LinkedHashMap$LinkedValues.forEach(LinkedHashMap.java:833) ~[na:na]
at org.springframework.cloud.stream.binding.AbstractBindingLifecycle.start(AbstractBindingLifecycle.java:60) ~[spring-cloud-stream-5.0.1.jar:5.0.1]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:420) ~[spring-context-7.0.5.jar:7.0.5]
... 14 common frames omitted
Caused by: org.springframework.web.client.UnknownContentTypeException: Could not extract response: no suitable HttpMessageConverter found for response type [java.util.List<org.springframework.cloud.consul.model.http.event.Event>] and content type [text/plain;charset=utf-8]
at org.springframework.web.client.DefaultRestClient.readWithMessageConverters(DefaultRestClient.java:258) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.readBody(DefaultRestClient.java:915) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.lambda$toEntityInternal$0(DefaultRestClient.java:855) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.client.DefaultRestClient$DefaultRequestBodyUriSpec.exchangeInternal(DefaultRestClient.java:612) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.client.DefaultRestClient$DefaultRequestBodyUriSpec.exchange(DefaultRestClient.java:567) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.client.RestClient$RequestHeadersSpec.exchange(RestClient.java:750) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.executeAndExtract(DefaultRestClient.java:908) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.toEntityInternal(DefaultRestClient.java:854) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.toEntity(DefaultRestClient.java:850) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.client.support.RestClientAdapter.exchangeForEntity(RestClientAdapter.java:90) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.service.invoker.HttpServiceMethod$ExchangeResponseFunction.lambda$create$3(HttpServiceMethod.java:435) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.service.invoker.HttpServiceMethod$ExchangeResponseFunction.execute(HttpServiceMethod.java:399) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.service.invoker.HttpServiceMethod.invoke(HttpServiceMethod.java:134) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.web.service.invoker.HttpServiceProxyFactory$HttpServiceMethodInterceptor.invoke(HttpServiceProxyFactory.java:300) ~[spring-web-7.0.5.jar:7.0.5]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-7.0.5.jar:7.0.5]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:222) ~[spring-aop-7.0.5.jar:7.0.5]
at jdk.proxy2/jdk.proxy2.$Proxy45.eventList(Unknown Source) ~[na:na]
at org.springframework.cloud.consul.binder.EventService.getEventsResponse(EventService.java:76) ~[spring-cloud-consul-binder-5.0.1.jar:5.0.1]
at org.springframework.cloud.consul.binder.EventService.init(EventService.java:56) ~[spring-cloud-consul-binder-5.0.1.jar:5.0.1]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:453) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:397) ~[spring-beans-7.0.5.jar:7.0.5]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:217) ~[spring-beans-7.0.5.jar:7.0.5]
... 39 common frames omitted
最后,经过不断尝试,将pom依赖中的consul依赖调整一下,完美解决,属实有些坑了。
原项目中引用依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-all</artifactId>
</dependency>
拆分为:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>
升级需谨慎,头疼🤕。

浙公网安备 33010602011771号