Plugins are disabled during startup due to unsatisfied dependencies errors
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
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.
*Fisheye および Crucible は除く
問題
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
原因
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.
ソリューション
Assess whether the dependent plugin is disabled, and if necessary enable it:
Shut Down Confluence.
データベースに対して次のクエリを実行します。
select * from BANDANA where BANDANAKEY='plugin.manager.state.Map';
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
.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';
Confluence を再起動します。
関連コンテンツ