Error creating bean with name 'dhisConfigurationProvider' defined in URL

Hi,

I recently configured and deployed DHIS2 2.30 on my machine. Now i had to switch to new workstation and setup everything from scratch. I am getting this error:

Error creating bean with name ‘dhisConfigurationProvider’ defined in URL

I have setup the DHIS2_HOME environment variable correctly and also performed all other steps which worked for me last time. But somehow its not working. Can anyone please help me resolve this issue?

Tomcat log is as follows:

08-Aug-2019 11:31:51.556 INFO [http-nio-8080-exec-9] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
    * INFO  2019-08-08 11:31:52,623 System property dhis2.home not set (DefaultLocationManager.java [http-nio-8080-exec-9])
    * INFO  2019-08-08 11:31:52,624 Environment variable DHIS2_HOME not set (DefaultLocationManager.java [http-nio-8080-exec-9])
    * INFO  2019-08-08 11:31:52,625 Directory /opt/dhis2 cannot be created (DefaultLocationManager.java [http-nio-8080-exec-9])
    * WARN  2019-08-08 11:31:52,631 Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dhisConfigurationProvider' defined in URL [jar:file:/opt/tomcat/webapps/dhis/WEB-INF/lib/dhis-support-external-2.30.jar!/META-INF/dhis/beans.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Properties could not be loaded (AbstractApplicationContext.java [http-nio-8080-exec-9])
    * ERROR 2019-08-08 11:31:52,632 Context initialization failed (ContextLoader.java [http-nio-8080-exec-9])
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dhisConfigurationProvider' defined in URL [jar:file:/opt/tomcat/webapps/dhis/WEB-INF/lib/dhis-support-external-2.30.jar!/META-INF/dhis/beans.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Properties could not be loaded
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1631)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
    	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
    	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    	at org.hisp.dhis.condition.RedisDisabledCondition.matches(RedisDisabledCondition.java:50)
    	at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:102)
    	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:444)
    	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:127)
    	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116)
    	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:320)
    	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228)
    	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:272)
    	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:92)
    	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525)
    	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)
    	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)
    	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
    	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4699)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5165)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1381)
    	at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:694)
    	at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:218)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610)
    	at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:348)
    	at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:52)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
    	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
    	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.IllegalStateException: Properties could not be loaded
    	at org.hisp.dhis.external.conf.DefaultDhisConfigurationProvider.loadDhisConf(DefaultDhisConfigurationProvider.java:339)
    	at org.hisp.dhis.external.conf.DefaultDhisConfigurationProvider.init(DefaultDhisConfigurationProvider.java:108)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1760)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1697)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1627)
    	... 58 more
    Caused by: org.hisp.dhis.external.location.LocationManagerException: External directory not set
    	at org.hisp.dhis.external.location.DefaultLocationManager.buildDirectory(DefaultLocationManager.java:245)
    	at org.hisp.dhis.external.location.DefaultLocationManager.getFileForReading(DefaultLocationManager.java:171)
    	at org.hisp.dhis.external.location.DefaultLocationManager.getInputStream(DefaultLocationManager.java:142)
    	at org.hisp.dhis.external.location.DefaultLocationManager.getInputStream(DefaultLocationManager.java:135)
    	at org.hisp.dhis.external.conf.DefaultDhisConfigurationProvider.loadDhisConf(DefaultDhisConfigurationProvider.java:328)
    	... 66 more
    08-Aug-2019 11:31:52.634 SEVERE [http-nio-8080-exec-9] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
    08-Aug-2019 11:31:52.634 SEVERE [http-nio-8080-exec-9] org.apache.catalina.core.StandardContext.startInternal Context [/dhis] startup failed due to previous errors
1 Like

Hi @affan,

Have you followed the instructions on the blogs in this thread; Installing DHIS2 on a Windows Local Server?

Let us know how it goes.

Best,
James.

1 Like

Hi @jomutsani,

thanks for reply. Sorry i forgot to mention I am trying to setup DHIS2 on Ubuntu 18.04, not Windows Server. Please guide me accordingly. Also, do you recommend using Windows instead of Ubuntu? If the installation and deployment process would be more smooth on Windows then i can switch to Windows 10.

Thanks,
Affan

1 Like

Well noted @affan;

Kindly check out the DHIS2 Blog on Ubuntu Setup and this thread and let us know if it helps; Dhis.war deployment issue

James.

1 Like

Hi @jomutsani,

Sorry for replying so late, i switched to some other tasks for few days. I was able to deploy DHIS2 on Windows 10 after following the link you posted. Thanks. However, now there is no data in dashboard charts. and also when i go to metadata store, i get a generic error and no data is viewed. When i query dhis2 database via psql then i can see all data is available. Can you please guide me what could be the problem? is web portal log saved any where which i can inspect?

1 Like

Hi @jomutsani, Please ignore my previous message, it was probably PostgreSQL service issue which resolved automatically after system restart. Thanks for your help.
cheers

1 Like

Hi @affan,

Great to know you are sorted! Cheers! :slight_smile: