Page 1 of 1

Deploying Broadleaf demo on Amazon AWS EC2.

Posted: Fri Oct 23, 2015 5:38 am
by jiteshyadav
Hi,

I am trying to deploy my war file on Amazon AWS EC2 on tomcat 7 and continuously getting errors. I am sure that my AWS setup is fine as I am able to successfully deploy a sample war file and it works fine. I am not sure if I have made all the changes necessary before deploying the Broadleaf demo. Is there any documentation for the changes that we need to make before deploying the site & admin war files ?

Any lead regarding this will be really helpful.

Thanks.

Re: Deploying Broadleaf demo on Amazon AWS EC2.

Posted: Thu Nov 12, 2015 5:07 am
by jiteshyadav
Hi,

I am adding the applicationcontext-datasource.xml file and the exception log:

Logs shows the following exception:

Code: Select all

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationEventMulticaster': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private java.util.concurrent.Executor org.broadleafcommerce.common.event.BroadleafApplicationEventMulticaster.taskExecutor; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'webDS' defined in resource loaded from byte array; nested exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1210)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
   at org.springframework.context.support.AbstractApplicationContext.initApplicationEventMulticaster(AbstractApplicationContext.java:661)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:471)
   at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
   at org.broadleafcommerce.common.web.extensibility.MergeContextLoader.contextInitialized(MergeContextLoader.java:148)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5003)
   at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5517)
   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
   at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1095)
   at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1930)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)
    Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private java.util.concurrent.Executor org.broadleafcommerce.common.event.BroadleafApplicationEventMulticaster.taskExecutor; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'webDS' defined in resource loaded from byte array; nested exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:561)
   at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
   ... 26 more
    Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'webDS' defined in resource loaded from byte array; nested exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
   at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1328)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:622)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:591)
   at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1397)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:434)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:404)
   at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:186)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1105)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1044)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533)
   ... 28 more
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1858)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1709)
   at org.springframework.util.ClassUtils.forName(ClassUtils.java:249)
   at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:395)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1349)
   at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1320)
   ... 38 more


applicationContext-datasource.xml looks like below:

Code: Select all

<bean id="webDS" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://**********.**********.us-west-2.rds.amazonaws.com:3306/****" />
    <property name="username" value="root" />
    <property name="password" value="*****" />
</bean>

<bean id="webSecureDS" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://**********.**********.us-west-2.rds.amazonaws.com:3306/****" />
    <property name="username" value="root" />
    <property name="password" value="*****" />
</bean>

<bean id="webStorageDS" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://**********.**********.us-west-2.rds.amazonaws.com:3306/****" />
    <property name="username" value="root" />
    <property name="password" value="*****" />
</bean>


Can you please have a look? I am stuck since many days now.

Thanks,
Jitesh