Crowd 2.5 unable to be used after upgrading to JDK 1.7
This problem has now been resolved in Crowd 2.6.2.
Problem
Crowd 2.5 supports JDK 1.7. Yet, if Crowd is initially installed with JDK 1.6 and the JDK is upgraded to 1.7, then Crowd will not start, with errors stating that required plugins failed to initialize.
Symptoms
The following appears in the atlassian-jira.log
:
[internal.dependencies.startup.DependencyWaiterApplicationContextExecutor] Unable to create application context for [com.atlassian.auiplugin], unsatisfied dependencies: Dependency on [(objectClass=com.atlassian.sal.api.ApplicationProperties)] (from bean [&applicationProperties]), Dependency on [(objectClass=com.atlassian.sal.api.message.I18nResolver)] (from bean [&i18nResolver])
org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.auiplugin' has timed out
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:454)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:50)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:105)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Detected an error (BundleException) enabling the plugin 'com.atlassian.crowd.crowd-sync-feedback' : Unresolved constraint in bundle com.atlassian.crowd.sync-feedback [11]: Unable to resolve 11.0: missing requirement [11.0] package; (&(package=com.atlassian.plugins.rest.common.security.jersey)(version>=2.5.1.1)) [caused by: Unable to resolve 13.0: missing requirement [13.0] package; (&(package=javax.activation)(version>=0.0.0.1_006_JavaSE)(version<=0.0.0.1_006_JavaSE))]. This error usually occurs when your plugin imports a package from another bundle with a specific version constraint and either the bundle providing that package doesn't meet those version constraints, or there is no bundle available that provides the specified package. For more details on how to fix this, see http://confluence.atlassian.com/x/1xy6D
When trying to access Crowd, the following screen appears :
Diagnosis
Crowd was originally using JDK 1.6 but has been changed to use JDK 1.7.
Cause
Crowd was set up using JDK 1.6; hence all the caches store data regarding JDK 1.6. However, when the JDK was updated to JDK 1.7, the cache was still using data cached under 1.6, causing some inconsistency in the data.
This affects the performance of the instance, especially the plugins, which are unable to be started. This issue was resolved in CWD-2967 - Upgrading from Java 1.6 to 1.7 fails due to dependencies recorded in the OSGi cache and released with Crowd 2.6.2.
Resolution
To resolve this, the caches have to be cleared. To do so, follow these steps :
- Shut down Crowd
- Clear your caches by navigating to your Crowd home directory and deleting these two folders :
bundled-plugins
andcaches
- Startup Crowd