Unable to Start JIRA when Running with Confluence or Crowd in the Same Application Server Container

Do not deploy multiple Atlassian applications in a single Tomcat container

Deploying multiple Atlassian applications in a single Tomcat container is not supported. We do not test this configuration and upgrading any of the applications (even for point releases) is likely to break it. There are also a number of known issues with this configuration (see this FAQfor more information).

We also strongly recommend not deploying multiple Atlassian applications to a single Tomcat container for a number of practical reasons. Firstly, you must shut down Tomcat to upgrade any application and secondly, if one application crashes, the other applications running in that Tomcat container will be inaccessible.

Finally, we recommend not deploying any other applications to the same Tomcat container that runs JIRA, especially if these other applications have large memory requirements or require additional libraries in Tomcat's lib subdirectory.

Symptoms

Symptoms include:

  1. JIRA is unable to start.
  2. Confluence may be unusable. See Confluence Menus Do Not Work, or Confluence Fails to Start when Running in the Same Application Server as JIRA 4.0, 4.0.1 or Crowd 2.0.x.

The error below appears in the logs:

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from OSGi resource[bundle://5.0:0/META-INF/spring/extender/spring-event-bridge.xml|bnd.id=5|bnd.sym=org.springframework.osgi.extender]; nested exception is java.io.IOException: No framework context found
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:349)
...
Caused by: java.io.IOException: No framework context found
	at org.apache.felix.framework.URLHandlersBundleStreamHandler.openConnection(URLHandlersBundleStreamHandler.java:69)
	at java.net.URL.openConnection(URL.java:945)
	at org.springframework.osgi.io.OsgiBundleResource.getInputStream(OsgiBundleResource.java:180)

Cause

The problem is caused by an incompatible Felix library used by JIRA, Confluence and Crowd when they're running in the same JVM. For example:

JIRA 4.1

org.apache.felix.main-2.0.0-atlassian-1.jar

Confluence 3.2

org.apache.felix.main-2.0.1-atlassian-3.jar

Crowd 2.0.3

org.apache.felix.main-1.2.1-atlassian-7.jar

Workaround

The workarounds below may vary across versions, and may or may not work in various combinations. See the Resolution section below for the recommended approach.

JIRA 4.1 and Crowd 2.0.3

Crowd 2.0.3 uses Felix 1.2.1 and JIRA 4.1 uses Felix 2.0.0. Assuming you are using Tomcat, to patch Crowd to use the newer customized version of Felix 2.0.0

1. Shutdown Tomcat
2. Retrieve org.apache.felix.main-2.0.0-atlassian-1.jar from the JIRA 4.1 WEB-INF/lib directory.
3. In Crowd, backup WEB-INF/lib/org.apache.felix.main-1.2.1-atlassian-7.jar, and replace it with org.apache.felix.main-2.0.0-atlassian-1.jar.
4. Rebuild and redeploy Crowd
5. Restart Tomcat

Run JIRA, Confluence and Crowd as Stand-Alone deployments. This is the recommended setup.

JIRA 4.1 and Confluence 3.2

Confluence 3.2 uses Felix 2.0.1 and JIRA 4.1 uses Felix 2.0.0. Assuming you are using Tomcat, to patch JIRA to use the newer customized version of Felix 2.0.1:

1. Shutdown Tomcat
2. Retrieve org.apache.felix.main-2.0.1-atlassian-3.jar from the Confluence 3.2 WEB-INF/lib directory
3. In JIRA, backup WEB-INF/lib/org.apache.felix.main-2.0.0-atlassian-1.jar, and replace it with org.apache.felix.main-2.0.1-atlassian-3.jar.
4. Rebuild and redeploy JIRA
5. Restart Tomcat

Run JIRA, Confluence and Crowd as Stand-Alone deployments. This is the recommended setup.

Was this helpful?

Thanks for your feedback!

Why was this unhelpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport