Preparing for Confluence 5.6
This documentation is intended for Confluence developers who want to ensure that their existing plugins and add-ons are compatible with Confluence 5.6, and to learn about the new features for developing add-ons in Confluence 5.6.
This page will be updated as further EAP development releases are available.
Improved clustering solution for Confluence
As previously mentioned, we have been working on a new clustering solution for Confluence. Important changes for plugin developers include:
- Changes to the home directory - in a clustered environment Confluence will have a local home and a shared home. Plugins will need to decide the most appropriate place to store any data they place on the file system.
- Introduction of Hazelcast - data will be evenly partitioned across all the nodes in a cluster, instead of being fully replicated on each node.
- New cluster lock service - the locking primitives provided with Java (
synchronized, etc.) will not properly ensure serialised access to data in a cluster. Instead, you need to use the cluster-wide lock that is provided through the Beehive ClusterLockService API.
- Show compatibility on Marketplace - you can use the
atlassian-data-center-compatibleparameter to your
atlassian-plugin.xmldescriptor file to indicate that your plugin is cluster compatible.
Note: plugins should not cache licenses or license states as this will prevent license changes being correctly propagated to all nodes in the cluster.
See How do I ensure my add-on works properly in a cluster? for more information.
Licensing library changes
Confluence's licensing libraries have been upgraded. Plugins should use the the
com.atlassian.confluence.license.LicenseService#retrieve() method to retrieve the currently installed Confluence license. The method
com.atlassian.confluence.license.LicenseService#retrieveAtlassianLicense() can also be used to retrieve the encompassing
Plugins should not use:
com.atlassian.extras.core.LicenseManagerFactory(no longer exists, plugins using this class will not run)
com.atlassian.config.bootstrap.AtlassianBootstrapManager#getString- passing in
Milestone releases for developers
Please watch the Development Releases page for pre-release versions of Confluence 5.6 that you can use for testing purposes.
If you have any questions about preparing for Confluence 5.6, please register for an account on Atlassian Answers, our community Q&A resource, and ask a question. We'll be keeping an eye on things to help out as soon as possible.