Re-installing Confluence - home directory lost - how to reconnect to database
Asked by joe_fenton:

On ubuntu server 17.10, I managed to lose all my atlassian home directories and had to re-install jira/bitbucket/confluence. After a bit of toil, I have got Jira running and reconnected to the original database.

I'm having some trouble with Confluence though, and I'm unsure what to do with Bitbucket too, as I can't find the bitbucket.properties file that is supposed to have the connection details.

The error I'm currently receiving from Confluence at startup is:

The SystemInformationService could not be retrieved from the container. Therefore very limited information is available in this error report.   
The SystemInformationService could not be retrieved due to the following error: java.lang.IllegalStateException: Spring Application context has not been set

### Cause {#toc-hId-1598639085}

com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.IllegalStateException: Spring Application context has not been set  
at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)

caused by: java.lang.IllegalStateException: Spring Application context has not been set  
at com.atlassian.spring.container.SpringContainerContext.getComponent(SpringContainerContext.java:48)

#### Stack Trace:\[hide\] {#toc-hId--1150031381}

```
com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.IllegalStateException: Spring Application context has not been set	at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)	at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)	at com.atlassian.confluence.setup.webwork.ConfluenceXWorkTransactionInterceptor.getTransactionManager(ConfluenceXWorkTransactionInterceptor.java:28)	at com.atlassian.xwork.interceptors.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:56)	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)	at com.atlassian.confluence.xwork.SetupIncompleteInterceptor.intercept(SetupIncompleteInterceptor.java:38)	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)	at com.atlassian.confluence.security.interceptors.SecurityHeadersInterceptor.intercept(SecurityHeadersInterceptor.java:39)	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)	at com.atlassian.confluence.setup.actions.SetupCheckInterceptor.intercept(SetupCheckInterceptor.java:27)	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)	at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)	at com.atlassian.confluence.servlet.ConfluenceServletDispatcher.serviceAction(ConfluenceServletDispatcher.java:56)	at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.web.filter.DebugFilter.doFilter(DebugFilter.java:46)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:64)	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.util.message.MessagesDecoratorFilter.doFilter(MessagesDecoratorFilter.java:62)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:65)	at com.atlassian.confluence.util.profiling.ProfilingSiteMeshFilter.doFilter(ProfilingSiteMeshFilter.java:50)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:64)	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.jmx.JmxFilter.doFilter(JmxFilter.java:98)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.cache.TransactionalCacheFactoryCleanupFilter.doFilter(TransactionalCacheFactoryCleanupFilter.java:22)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:21)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.util.UserLoggingContextFilter.doFilter(UserLoggingContextFilter.java:32)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.util.UserNameHeaderFilter.doFilter(UserNameHeaderFilter.java:25)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.web.filter.MauEventFilter.doFilter(MauEventFilter.java:42)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.util.UserThreadLocalFilter.doFilter(UserThreadLocalFilter.java:39)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.web.filter.ConfluenceTimeoutFilter.doFilter(ConfluenceTimeoutFilter.java:57)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:88)	at com.atlassian.confluence.web.filter.ConfluenceSecurityFilter.doFilter(ConfluenceSecurityFilter.java:25)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.web.filter.ThreadLocalCacheFilter.doFilter(ThreadLocalCacheFilter.java:25)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.util.AbstractBootstrapHotSwappingFilter$SwapOnBootstrapFilter.doFilter(AbstractBootstrapHotSwappingFilter.java:45)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at com.atlassian.confluence.util.AbstractBootstrapHotSwappingFilter.doFilter(AbstractBootstrapHotSwappingFilter.java:35)	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:148)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:64)	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)	at com.atlassian.confluence.util.ClusterHeaderFilter.doFilter(ClusterHeaderFilter.java:56)	
```


Answers:
author: joe_fenton
body: I was able to fix both of these issues eventually. Both required a slightly different method. For bitbucket, I had to install to a new 'temp' database in order for it to create the appropriate bitbucket.properties file in \<bitbucket_home\>/shared/. From there I could then change it to point to the original database, and restart the server.

With Confluence, I had to both install with the internal database, and get a new evaluation licence, as using my original licence would also break it. Then when the installation completed (previously it would not, with the error shown in my original question among many), I could then go to \<confluence_home\>/confluence.cfg.xml and I edited it to match a template that confluence support sent me, changing the appropriate values for user/password/database.

Once I had done this, I was back up and running. Not exactly smooth, but I guess most people shouldn't be losing their home directories. My backups are now in place so this won't be happening again!

A note to Atlassian is that they should provide example files like confluence.cfg.xml and make them easy to find, as I would have resolved the confluence issue much quicker if this was the case. I can't attach the file to this post.


author: Andrey Oleynik
body: Hi, I think you will find a solution to your problem here: [Confluence does not start due to Spring Application context has not been set](https://confluence.atlassian.com/confkb/confluence-does-not-start-due-to-spring-application-context-has-not-been-set-218278311.html "Confluence does not start due to Spring Application context has not been set")

comments: author: joe_fenton
body: Yeah, I already checked that. I could go through part 10, but that would leave me where I started. I can't seem to find an example of the config file with a postgresql database setup, to double check I'm not doing something silly, otherwise I can just see me getting back to the same situation I'm in now. I'll give it another go anyway


Tags: bitbucket-server