Search code examples
broadleaf-commerce

failed to START THE API


I failed to START THE API cli after successful site and admin and got error below. Please help to resolve. thanks.

DemoSite-broadleaf-5.2.2.1-GA

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'blURLHandlerFilter': Unsatisfied dependency expressed through field 'urlHandlerService'; nested except ion is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blURLHandlerService': Injection of resource dependencies failed; nested exception is org.springframework.beans.fact ory.BeanCreationException: Error creating bean with name 'blURLHandlerDao': Injection of persistence dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creat ing bean with name 'blEntityManagerFactoryAssetStorageInfo' defined in class path resource [bl-cms-contentClient-applicationContext.xml]: Cannot resolve reference to bean 'blPersistenceUnitManager' while settin g bean property 'persistenceUnitManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blPersistenceUnitManager' defined in class path resource [bl -common-applicationContext-persistence.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.lang.IllegalStateException: The classes [org.broadleafcommerce.cms.url.domain.URLHandlerImpl] are managed classes within the MergePersistenceUnitManager but were not detected as being transformed by the EntityMarkerClassTransformer. There can be multiple causes for this: 1. Session persistence is enabled in your servlet container (like Tomcat) and an entity object has been loaded by the container before being loaded by the application's classloader. Ensure that session persiste nce is disabled; in Tomcat ensure that a element exists in your context.xml. 2. You are inadvertently using class scanning to find a ServletContainerInitializer class, and your servlet container is loading all classes before transformers have been registered. If you are using a web.xml, ensure that there is an element somewhere in that file. If you are not using a web.xml and are using Spring Boot, then you likely need to add one. See https://www.broadleafcommerce.com/do cs/core/5.2/broadleaf-concepts/key-aspects-and-configuration/app-server-configuration/tomcat for the example web.xml 3. The classes are being used as apart of an @Bean method or in some other runtime capacity that is initialized prior to persistence manager startup at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10. RELEASE] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.REL EASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]


Solution

  • This is resolved by https://github.com/broadleafcommerce/issues/issues/5 and is currently in Broadleaf 5.2.3-SNAPSHOT and will be apart of 5.2.3-GA.