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
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.
SAP Knowledge Base Article - Preview