SAP Knowledge Base Article - Preview

3764662 - Deployment fails when creating openApiResource bean on API pods

Symptom

A deployment to an SAP Commerce Cloud environment fails during the check_application_status subprocess with the message "Found a irrecoverably failing Hybris component". One or more API pods enter a crash loop and never reach the ready state.

The application logs of the failing API pod show that the Spring application context cancels its refresh during web application initialization, with an UnsatisfiedDependencyException raised while creating the openApiResource bean defined in de.hybris.platform.swaggerintegration.config.SwaggerIntegrationConfig. The underlying cause reported by the stack trace is a NoSuchBeanDefinitionException for org.springdoc.core.service.AbstractRequestService:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'openApiResource' defined in de.hybris.platform.swaggerintegration.config.SwaggerIntegrationConfig: Unsatisfied dependency expressed through method 'openApiResource' parameter 1: No qualifying bean of type 'org.springdoc.core.service.AbstractRequestService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

The full stack trace observed in the API pod logs is:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'openApiResource' defined in de.hybris.platform.swaggerintegration.config.SwaggerIntegrationConfig: Unsatisfied dependency expressed through method 'openApiResource' parameter 1: No qualifying bean of type 'org.springdoc.core.service.AbstractRequestService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:546)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1375)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1205)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1221)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1187)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1123)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:394)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:274)
    at de.hybris.platform.spring.HybrisContextLoaderListener.doInitWebApplicationContext(HybrisContextLoaderListener.java:228)
    at de.hybris.platform.spring.HybrisContextLoaderListener.initWebApplicationContext(HybrisContextLoaderListener.java:200)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:126)
    at de.hybris.platform.spring.HybrisContextLoaderListener.contextInitializedInternal(HybrisContextLoaderListener.java:97)
    at de.hybris.platform.spring.HybrisContextLoaderListener.contextInitialized(HybrisContextLoaderListener.java:92)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4034)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4462)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:597)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:569)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:629)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1878)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:81)
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:524)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:415)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:300)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389)
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:336)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:774)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:770)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1201)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1191)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springdoc.core.service.AbstractRequestService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:2303)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1723)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1643)
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913)
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
    ... 51 more


Read more...

Environment

SAP Commerce Cloud

Product

SAP Commerce Cloud all versions

Keywords

SAP Commerce Cloud, swaggerintegration, swagger, swagger-ui, springdoc, springdoc-openapi, springdoc.api-docs.enabled, springdoc.swagger-ui.enabled, AbstractRequestService, openApiResource, SwaggerIntegrationConfig, UnsatisfiedDependencyException, NoSuchBeanDefinitionException, autowire candidate, Spring context initialization, autoconfiguration disabled, API pod crash loop, API pod restart, deployment failure, check_application_status, irrecoverably failing Hybris component , KBA , CEC-SCC-CLA-DEP , Deployments , Problem

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.