Plugins are disabled during startup due to unsatisfied dependencies errors

Still need help?

The Atlassian Community is here for you.

Ask the community

 

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

During startup, Confluence are unable to enable certain plugins. 

The following appears in the atlassian-confluence.log

2016-07-05 18:36:36,714 ERROR [Timer-0] [internal.dependencies.startup.DependencyWaiterApplicationContextExecutor] fail Unable to create application context for [com.atlassian.streams.aggregator-plugin], unsatisfied dependencies: Dependency on [(objectClass=com.atlassian.streams.spi.FormatPreferenceProvider)] (from bean [&formatPreferenceProvider]), Dependency on [(objectClass=com.atlassian.streams.spi.EntityResolver)] (from bean [&entityResolvers])
org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.streams.aggregator-plugin' has timed out

Cause

The error above shows that the plugin com.atlassian.confluence.plugins.confluence-business-blueprints are unable to be startup due to unsatisfied dependency on the objectClass=com.atlassian.streams.spi.EntityResolver.

The former plugin has a plugin system dependencies with the latter plugin which are not visible to this user. It's crucial that the latter objectClass has started in order for the former plugin to startup properly.

There are various reasons that the latter plugin are not started up. This could be that it has another dependencies to another disabled plugin. Hence, it's important that we look into the first error message that's displayed in the atlassian-confluence.log right after Confluence startup logs.

Resolution

Assess whether the dependent plugin is disabled, and if necessary enable it:

  1. Shut Down Confluence.

  2. Run the following query against your database:

    select * from BANDANA where BANDANAKEY='plugin.manager.state.Map';
  3. In the example above, check for the plugin that's similar to the offending ObjectClass, "com.atlassian.streams.spi.EntityResolver"

    XML
    '<map> 
      <entry>
        <string>com.atlassian.confluence.plugins.confluence-hipchat-integration-plugin</string>
        <boolean>false</boolean>
      </entry>
      <entry>
        <string>com.atlassian.streams.confluence</string>
        <boolean>false</boolean>
      </entry>
      <entry>
        <string>com.atlassian.confluence.ext.usage</string>
        <boolean>true</boolean>
      </entry>
    </map>'

    In this example com.atlassian.streams.confluence has been set to false.

  4. Remove the plugin entry from the map, and update the map in the database. This will enable the specific offending plugin, while keeping the status for the other plugins. Note that the offending plugin is deleted starting from the tag <entry> and the closing tag </entry>.

    update BANDANA set BANDANAVALUE= 
    '<map> 
      <entry>
        <string>com.atlassian.confluence.plugins.confluence-hipchat-integration-plugin</string>
        <boolean>false</boolean>
      </entry>
      <entry>
        <string>com.atlassian.confluence.ext.usage</string>
        <boolean>true</boolean>
      </entry>
    </map>'
    where BANDANAKEY='plugin.manager.state.Map';
  5. Restart Confluence.

 

Related Content

 

Last modified on Aug 14, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.