Can't login to deployed application

Hi,

I’m having a problem after deploying the application to the production tomcat. I can see the login page but nothing happened after entering user name and password. Can anyone point me to some troubleshooting steps? Thanks in advance.

Look at tomcat/logs/app.log. You should see some exceptions there.

Hi Konstantin,

I’ve looked at tomcat/logs but there isn’t any log files there.

Still trying to figure out what is wrong.

Please describe how you deploy and run the app.

I deployed the app by copying the tomcat directory from the development machine to the production machine.

Then i run the app at “http://localhost:8080/app”.

Try to open the command line in tomcat/bin folder and run

catalina.bat run

or

./catalina.sh run

You will see the output in the current console window.

Hi Konstantin,

Now i see the logs. There is seem to be some error in Context.xml in webapps/app-core/META-INF/. I can’t see what’s the problem, so have re-typed the connection configuration manually and i don’t get the error now.

However, there’s a new error on cuba-spring.xml when i restarted tomcat. Not sure it’s the same problem due to some character format that cannot be seen like Context.xml. Do you have any idea where the file is located and how i can fit it?

The new error log is attached.

Using CATALINA_BASE:   /home/ubuntu/tomcat
Using CATALINA_HOME:   /home/ubuntu/tomcat
Using CATALINA_TMPDIR: /home/ubuntu/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /home/ubuntu/tomcat/bin/bootstrap.jar:/home/ubuntu/tomcat/bin/tomcat-juli.jar
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/8.0.35
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          May 11 2016 21:57:08 UTC
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         8.0.35.0
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Linux
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            3.16.0-30-generic
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             /usr/lib/jvm/java-8-oracle/jre
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_101-b13
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         /home/ubuntu/tomcat
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         /home/ubuntu/tomcat
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.config.file=/home/ubuntu/tomcat/conf/logging.properties
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Xmx512m
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=UTF-8
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dlogback.configurationFile=../conf/logback.xml
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcom.sun.management.jmxremote
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=/home/ubuntu/tomcat/endorsed
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/home/ubuntu/tomcat
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/home/ubuntu/tomcat
Aug 24, 2016 3:04:59 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=/home/ubuntu/tomcat/temp
Aug 24, 2016 3:04:59 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Aug 24, 2016 3:05:00 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Aug 24, 2016 3:05:00 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Aug 24, 2016 3:05:00 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Aug 24, 2016 3:05:00 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Aug 24, 2016 3:05:00 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 978 ms
Aug 24, 2016 3:05:00 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Aug 24, 2016 3:05:00 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.35
Aug 24, 2016 3:05:00 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /home/ubuntu/tomcat/conf/Catalina/localhost/app-core.xml
03:05:01.470 INFO  c.h.cuba.core.sys.AppContextLoader - DbmsType is set to postgres
03:05:01.695 INFO  c.h.c.c.s.p.PersistenceConfigProcessor - Creating file /home/ubuntu/tomcat/work/app-core/persistence.xml
03:05:01.875 INFO  c.h.c.c.s.CubaCoreApplicationContext - Refreshing com.haulmont.cuba.core.sys.CubaCoreApplicationContext@3b2783bd: startup date [Wed Aug 24 03:05:01 MYT 2016]; root of context hierarchy
03:05:04.860 WARN  c.h.c.c.s.CubaCoreApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [cuba-spring.xml]: Cannot resolve reference to bean 'cubaDataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cubaDataSource' defined in class path resource [cuba-spring.xml]: Invocation of init method failed; nested exception is javax.naming.NamingException: Cannot create resource instance
03:05:04.903 ERROR c.h.cuba.core.sys.AppContextLoader - Error initializing application
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [cuba-spring.xml]: Cannot resolve reference to bean 'cubaDataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cubaDataSource' defined in class path resource [cuba-spring.xml]: Invocation of init method failed; nested exception is javax.naming.NamingException: Cannot create resource instance
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1054) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:829) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at com.haulmont.cuba.core.sys.CubaClassPathXmlApplicationContext.<init>(CubaClassPathXmlApplicationContext.java:29) ~[cuba-global-6.2.5.jar:6.2.5]
	at com.haulmont.cuba.core.sys.CubaCoreApplicationContext.<init>(CubaCoreApplicationContext.java:26) ~[cuba-core-6.2.5.jar:6.2.5]
	at com.haulmont.cuba.core.sys.AppContextLoader.createClassPathXmlApplicationContext(AppContextLoader.java:62) ~[cuba-core-6.2.5.jar:6.2.5]
	at com.haulmont.cuba.core.sys.AbstractAppContextLoader.initAppContext(AbstractAppContextLoader.java:53) ~[cuba-global-6.2.5.jar:6.2.5]
	at com.haulmont.cuba.core.sys.AbstractWebAppContextLoader.contextInitialized(AbstractWebAppContextLoader.java:63) ~[cuba-global-6.2.5.jar:6.2.5]
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4813) [catalina.jar:8.0.35]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5272) [catalina.jar:8.0.35]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) [catalina.jar:8.0.35]
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) [catalina.jar:8.0.35]
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) [catalina.jar:8.0.35]
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) [catalina.jar:8.0.35]
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:587) [catalina.jar:8.0.35]
	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1798) [catalina.jar:8.0.35]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_101]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cubaDataSource' defined in class path resource [cuba-spring.xml]: Invocation of init method failed; nested exception is javax.naming.NamingException: Cannot create resource instance
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	... 32 common frames omitted
Caused by: javax.naming.NamingException: Cannot create resource instance
	at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:96) ~[catalina.jar:8.0.35]
	at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321) ~[na:1.8.0_101]
	at org.apache.naming.NamingContext.lookup(NamingContext.java:841) ~[catalina.jar:8.0.35]
	at org.apache.naming.NamingContext.lookup(NamingContext.java:152) ~[catalina.jar:8.0.35]
	at org.apache.naming.NamingContext.lookup(NamingContext.java:829) ~[catalina.jar:8.0.35]
	at org.apache.naming.NamingContext.lookup(NamingContext.java:152) ~[catalina.jar:8.0.35]
	at org.apache.naming.NamingContext.lookup(NamingContext.java:829) ~[catalina.jar:8.0.35]
	at org.apache.naming.NamingContext.lookup(NamingContext.java:152) ~[catalina.jar:8.0.35]
	at org.apache.naming.NamingContext.lookup(NamingContext.java:829) ~[catalina.jar:8.0.35]
	at org.apache.naming.NamingContext.lookup(NamingContext.java:166) ~[catalina.jar:8.0.35]
	at org.apache.naming.SelectorContext.lookup(SelectorContext.java:157) ~[catalina.jar:8.0.35]
	at javax.naming.InitialContext.lookup(InitialContext.java:417) ~[na:1.8.0_101]
	at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:106) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:231) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:217) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
	... 39 common frames omitted
Aug 24, 2016 3:05:04 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Aug 24, 2016 3:05:04 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/app-core] startup failed due to previous errors
Aug 24, 2016 3:05:04 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deployment of configuration descriptor /home/ubuntu/tomcat/conf/Catalina/localhost/app-core.xml has finished in 4,685 ms
Aug 24, 2016 3:05:04 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home/ubuntu/tomcat/webapps/app
Aug 24, 2016 3:05:09 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /home/ubuntu/tomcat/webapps/app has finished in 4,903 ms
Aug 24, 2016 3:05:09 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Aug 24, 2016 3:05:09 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Aug 24, 2016 3:05:09 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 9688 ms

I see from the log that you have a custom descriptor: tomcat/conf/Catalina/localhost/app-core.xml.
Ensure it is correct, the exception “javax.naming.NamingException: Cannot create resource instance” can be caused by mistakes in the configuration.

Good day Konstantin!

I copied app-core.xml to conf/Catalina/localhost from context.xml in webapps/app-core/WEB-INF as per the documentation to separate configuration between development and production.

I suspect the resource instance cannot be created due to not finding the datasource but I couldn’t see what is wrong with the app-core.xml/context.xml file.

Here’s the app-core.xml file:

<Context>
    <!-- Database connection -->
    <Resource driverClassName="org.postgresql.Driver"
              maxIdle="2"
              maxTotal="20"
              maxWaitMillis="5000"
              name="jdbc/CubaDS"
              password="postgres123"
              type="javax.sql.DataSource"
              url="jdbc:postgresql://localhost/gams"
              username="postgres"/>
    <!-- Switch off session serialization -->
    <Manager pathname=""/>
    <!--<Resource driverClassName="org.hsqldb.jdbc.JDBCDriver"
          maxIdle="2"
          maxTotal="20"
          maxWaitMillis="5000"
          name="jdbc/CubaDS"
          password=""
          type="javax.sql.DataSource"
          url="jdbc:hsqldb:hsql://localhost/gams"
          username="sa"/>-->
</Context>

Hi Konstantin,

Something was wrong with the xml. I’ve re-deployed the app and the problem is solved. So happy now :slight_smile:

Thanks for your help.