Skip to content

:framework :rest-template:nativeAppTest fails on main #310

@mhalbritter

Description

@mhalbritter
2025-10-16T16:36:41.896+02:00  INFO 1084999 --- [           main] c.e.r.RestTemplateApplication            : Starting AOT-processed RestTemplateApplication using Java 25 with PID 1084999 (/home/mhalbritter/Projects/spring-aot-smoke-tests/main/framework/rest-template/build/native/nativeCompile/rest-template started by mhalbritter in /home/mhalbritter/Projects/spring-aot-smoke-tests/main)
2025-10-16T16:36:41.897+02:00  INFO 1084999 --- [           main] c.e.r.RestTemplateApplication            : No active profile set, falling back to 1 default profile: "default"
2025-10-16T16:36:41.906+02:00  WARN 1084999 --- [           main] o.s.c.support.GenericApplicationContext  : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'CLR': Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'restTemplate': Instantiation of supplied bean failed
Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'CLR': Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'restTemplate': Instantiation of supplied bean failed
	at org.springframework.beans.factory.aot.BeanInstanceSupplier.resolveAutowiredArgument(BeanInstanceSupplier.java:341)
	at org.springframework.beans.factory.aot.BeanInstanceSupplier.resolveArguments(BeanInstanceSupplier.java:262)
	at org.springframework.beans.factory.aot.BeanInstanceSupplier.get(BeanInstanceSupplier.java:198)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:1024)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1247)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1190)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:566)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:526)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1218)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1184)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1121)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:983)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:620)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:765)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:454)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
	at com.example.resttemplate.RestTemplateApplication.main(RestTemplateApplication.java:29)
	at java.base@25/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'restTemplate': Instantiation of supplied bean failed
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1253)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1190)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:566)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:526)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:1225)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1704)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912)
	at org.springframework.beans.factory.support.RegisteredBean.resolveAutowiredArgument(RegisteredBean.java:251)
	at org.springframework.beans.factory.aot.BeanInstanceSupplier.resolveAutowiredArgument(BeanInstanceSupplier.java:338)
	... 21 more
Caused by: org.graalvm.nativeimage.MissingReflectionRegistrationError: Cannot reflectively invoke method 'public void org.springframework.http.client.SimpleClientHttpRequestFactory.setConnectTimeout(java.time.Duration)'. To allow this operation, add the following to the 'reflection' section of 'reachability-metadata.json' and rebuild the native image:

  {
    "type": "org.springframework.http.client.SimpleClientHttpRequestFactory",
    "methods": [
      {
        "name": "setConnectTimeout",
        "parameterTypes": [
          "java.time.Duration"
        ]
      }
    ]
  }

The 'reachability-metadata.json' file should be located in 'META-INF/native-image/<group-id>/<artifact-id>/' of your project. For further help, see https://www.graalvm.org/latest/reference-manual/native-image/metadata/#reflection
	at org.graalvm.nativeimage.builder/com.oracle.svm.core.reflect.MissingReflectionRegistrationUtils.reportInvokedExecutable(MissingReflectionRegistrationUtils.java:110)
	at java.base@25/java.lang.reflect.Method.acquireMethodAccessor(Method.java:144)
	at java.base@25/java.lang.reflect.Method.invoke(Method.java:562)
	at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:281)
	at org.springframework.boot.http.client.ReflectiveComponentsClientHttpRequestFactoryBuilder.invoke(ReflectiveComponentsClientHttpRequestFactoryBuilder.java:148)
	at org.springframework.boot.http.client.ReflectiveComponentsClientHttpRequestFactoryBuilder.setConnectTimeout(ReflectiveComponentsClientHttpRequestFactoryBuilder.java:106)
	at org.springframework.boot.http.client.ReflectiveComponentsClientHttpRequestFactoryBuilder.lambda$configure$0(ReflectiveComponentsClientHttpRequestFactoryBuilder.java:83)
	at org.springframework.boot.context.properties.PropertyMapper$Source.to(PropertyMapper.java:292)
	at org.springframework.boot.http.client.ReflectiveComponentsClientHttpRequestFactoryBuilder.configure(ReflectiveComponentsClientHttpRequestFactoryBuilder.java:83)
	at org.springframework.boot.http.client.ReflectiveComponentsClientHttpRequestFactoryBuilder.build(ReflectiveComponentsClientHttpRequestFactoryBuilder.java:72)
	at org.springframework.boot.restclient.RestTemplateBuilder.buildRequestFactory(RestTemplateBuilder.java:692)
	at org.springframework.boot.restclient.RestTemplateBuilder.configure(RestTemplateBuilder.java:658)
	at org.springframework.boot.restclient.RestTemplateBuilder.build(RestTemplateBuilder.java:633)
	at com.example.resttemplate.RestTemplateConfiguration.restTemplate(RestTemplateConfiguration.java:35)
	at com.example.resttemplate.RestTemplateConfiguration__BeanDefinitions.lambda$getRestTemplateInstanceSupplier$0(RestTemplateConfiguration__BeanDefinitions.java:29)
	at org.springframework.util.function.ThrowingBiFunction.apply(ThrowingBiFunction.java:68)
	at org.springframework.util.function.ThrowingBiFunction.apply(ThrowingBiFunction.java:54)
	at org.springframework.beans.factory.aot.BeanInstanceSupplier.lambda$get$1(BeanInstanceSupplier.java:200)
	at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58)
	at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46)
	at org.springframework.beans.factory.aot.BeanInstanceSupplier.invokeBeanSupplier(BeanInstanceSupplier.java:231)
	at org.springframework.beans.factory.aot.BeanInstanceSupplier.get(BeanInstanceSupplier.java:200)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:1024)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1247)
	... 34 more

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions