Skip to content

Unable to instantiate CloudFoundryVcapEnvironmentPostProcessor during config refresh #942

@tetra-code

Description

@tetra-code

Before adding and provisioning spring cloud vault, our app was refreshing fine via the /actuator/refresh endpoint. But after adding and provisioning spring cloud vault the endpoint returns 500 due to the following exception:

java.lang.IllegalArgumentException: Unable to instantiate org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor. Caused by: java.lang.ClassNotFoundException: org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor

Our app's dependency versions:

  • spring boot 4.0.6
  • spring-cloud-dependencies: 2025.1.0
  • spring-cloud-services-starter-config-client: 4.4.0
  • spring-cloud-starter-vault-config: 5.0.0
  • spring-vault-core: 5.0.0
  • spring-boot-starter-cloudfoundry

The rest of the stack trace:
java.lang.IllegalArgumentException: Unable to instantiate org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor [org.springframework.boot.EnvironmentPostProcessor] at org.springframework.boot.util.Instantiator.lambda$static$0(Instantiator.java:54) ..... Original Stack Trace: at org.springframework.boot.util.Instantiator.lambda$static$0(Instantiator.java:54) at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:202) at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source) at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(Unknown Source) at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source) at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source) at java.base/java.util.stream.ReferencePipeline.toList(Unknown Source) at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:192) at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:127) at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:114) at org.springframework.cloud.context.refresh.ConfigDataContextRefresher.updateEnvironment(ConfigDataContextRefresher.java:90) at org.springframework.cloud.context.refresh.ContextRefresher.refreshEnvironment(ContextRefresher.java:100) at org.springframework.cloud.context.refresh.ContextRefresher.refresh(ContextRefresher.java:93) at org.springframework.cloud.endpoint.RefreshEndpoint.refresh(RefreshEndpoint.java:46) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:281) at org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker.invoke(ReflectiveOperationInvoker.java:76) at org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredOperation.invoke(AbstractDiscoveredOperation.java:62) at org.springframework.boot.webflux.actuate.endpoint.web.AbstractWebFluxEndpointHandlerMapping$ElasticSchedulerInvoker.lambda$invoke$0(AbstractWebFluxEndpointHandlerMapping.java:303) at reactor.core.publisher.MonoCallable.call(MonoCallable.java:69) at reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:228) at io.micrometer.context.ContextSnapshot.lambda$wrap$0(ContextSnapshot.java:91) at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:72) at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Unknown Source) at org.springframework.util.ClassUtils.forName(ClassUtils.java:302) at org.springframework.boot.util.Instantiator$TypeSupplier$1.get(Instantiator.java:282) at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:197) at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source) at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(Unknown Source) at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source) at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source) at java.base/java.util.stream.ReferencePipeline.toList(Unknown Source) at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:192) at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:127) at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:114) at org.springframework.cloud.context.refresh.ConfigDataContextRefresher.updateEnvironment(ConfigDataContextRefresher.java:90) at org.springframework.cloud.context.refresh.ContextRefresher.refreshEnvironment(ContextRefresher.java:100) at org.springframework.cloud.context.refresh.ContextRefresher.refresh(ContextRefresher.java:93) at org.springframework.cloud.endpoint.RefreshEndpoint.refresh(RefreshEndpoint.java:46) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:281) at org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker.invoke(ReflectiveOperationInvoker.java:76) at org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredOperation.invoke(AbstractDiscoveredOperation.java:62) at org.springframework.boot.webflux.actuate.endpoint.web.AbstractWebFluxEndpointHandlerMapping$ElasticSchedulerInvoker.lambda$invoke$0(AbstractWebFluxEndpointHandlerMapping.java:303) at reactor.core.publisher.MonoCallable.call(MonoCallable.java:69) at reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:228) at io.micrometer.context.ContextSnapshot.lambda$wrap$0(ContextSnapshot.java:91) at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:72) at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions