com.atlassian.confluence.upgrade.impl
Class DefaultUpgradeManager
java.lang.Object
com.atlassian.confluence.upgrade.AbstractUpgradeManager
com.atlassian.confluence.upgrade.impl.DefaultUpgradeManager
- All Implemented Interfaces:
- UpgradeManager, org.springframework.beans.factory.InitializingBean
public class DefaultUpgradeManager
- extends AbstractUpgradeManager
Methods inherited from class com.atlassian.confluence.upgrade.AbstractUpgradeManager |
afterPropertiesSet, configuredBuildNumberNewerThan, getAllUpgradeTasks, getConfiguredBuildNumber, getErrors, getPluginDependentUpgradeTasks, getPreSchemaUpgradeTasks, getSchemaUpgradeTasks, getUpgradeTasks, isUpgraded, setApplicationConfig, setConfiguredBuildNumber, setPluginDependentUpgradeTasks, setPreSchemaUpgradeTasks, setSchemaHelper, setSchemaUpgradeTasks, setUpgradeTasks, taskNewerThan, upgrade, upgradeStarted, upgradeTaskSucceeded |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CLUSTER_UPGRADE_LOCK
public static final String CLUSTER_UPGRADE_LOCK
- See Also:
- Constant Field Values
DefaultUpgradeManager
public DefaultUpgradeManager()
getRealBuildNumber
protected String getRealBuildNumber()
- Specified by:
getRealBuildNumber
in class AbstractUpgradeManager
getDatabaseBuildNumber
protected String getDatabaseBuildNumber()
- Specified by:
getDatabaseBuildNumber
in class AbstractUpgradeManager
runUpgradePrerequisites
protected List<UpgradeError> runUpgradePrerequisites()
- Specified by:
runUpgradePrerequisites
in class AbstractUpgradeManager
needUpgrade
public boolean needUpgrade()
- This method has a side effect of putting an entry into the published cache indicating whether
an upgrade is required or not.
- Specified by:
needUpgrade
in interface UpgradeManager
- Overrides:
needUpgrade
in class AbstractUpgradeManager
setDatabaseBuildNumber
public void setDatabaseBuildNumber()
setDatabaseBuildNumber
protected void setDatabaseBuildNumber(String databaseBuildNumber)
throws Exception
- Specified by:
setDatabaseBuildNumber
in class AbstractUpgradeManager
- Throws:
Exception
postUpgrade
protected void postUpgrade()
- Overrides:
postUpgrade
in class AbstractUpgradeManager
initialUpgradeFinished
protected void initialUpgradeFinished()
throws Exception
- Update the pluginFrameworkDependent upgrade status based on whether there are any plugin framework dependent upgrade tasks
to run.
- Overrides:
initialUpgradeFinished
in class AbstractUpgradeManager
- Throws:
Exception
entireUpgradeFinished
public void entireUpgradeFinished()
- Specified by:
entireUpgradeFinished
in interface UpgradeManager
- Overrides:
entireUpgradeFinished
in class AbstractUpgradeManager
permitDatabaseUpgrades
protected boolean permitDatabaseUpgrades()
throws UpgradeException
- If we are in a clustered setup, only one node should be allowed to perform upgrades that affect the database.
To enforce this, nodes will need to:
- successfully acquire the cluster upgrade lock AND
- successfully tag the build in the CONFVERSION table (this is a backup check, to help us detect rare cases where some cluster nodes are not communicating - producing multiple clusters)
If the upgrade process fails before all database upgrade tasks are complete, and the user ignores those errors
and restarts the server, the existing tag on the CONFVERSION table will prevent the upgrade
- Overrides:
permitDatabaseUpgrades
in class AbstractUpgradeManager
- Throws:
UpgradeException
setCacheManager
public void setCacheManager(com.atlassian.cache.CacheManager cacheManager)
setEventPublisher
public void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)
setVersionHistoryDao
public void setVersionHistoryDao(VersionHistoryDao versionHistoryDao)
setClusterManager
public void setClusterManager(ClusterManager clusterManager)
setSidManager
public void setSidManager(ConfluenceSidManager sidManager)
setUpgradeGate
public void setUpgradeGate(UpgradeGate upgradeGate)