Class DefaultUpgradeManager
- java.lang.Object
- 
- com.atlassian.confluence.upgrade.AbstractUpgradeManager
- 
- com.atlassian.confluence.upgrade.impl.DefaultUpgradeManager
 
 
- 
- All Implemented Interfaces:
- UpgradeManager,- UpgradeTaskInfoService,- org.springframework.beans.factory.Aware,- org.springframework.beans.factory.BeanFactoryAware,- org.springframework.beans.factory.InitializingBean
 
 public class DefaultUpgradeManager extends AbstractUpgradeManager 
- 
- 
Field Summary- 
Fields inherited from class com.atlassian.confluence.upgrade.AbstractUpgradeManagerMAXIMUM_CLOUD_BUILD_VERSION_NUMBER, UPGRADE_TASK_COMPARATOR
 - 
Fields inherited from interface com.atlassian.confluence.upgrade.UpgradeManagerMINIMUM_SUPPORTED_UPGRADE_BUILD_NUMBER, MINIMUM_SUPPORTED_UPGRADE_VERSION
 
- 
 - 
Constructor SummaryConstructors Constructor Description DefaultUpgradeManager()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()protected voidbeforeUpgrade()voidentireUpgradeFinished()Called when all immediate and deferred upgrade actions have been performed *if* an upgrade was needed.protected voidfinalizeIfNeeded()protected StringgetDatabaseBuildNumber()protected StringgetRealBuildNumber()protected voidinitialUpgradeFinished()Update the pluginFrameworkDependent upgrade status based on whether there are any plugin framework dependent upgrade tasks to run.booleanneedUpgrade()This method has a side effect of putting an entry into the published cache indicating whether an upgrade is required or not.protected booleanpermitDatabaseUpgrades()If we are in a clustered setup, only one node should be allowed to perform upgrades that affect the database.protected voidpostUpgrade()protected voidreleaseSchemaReferences()protected List<UpgradeError>runUpgradePrerequisites()Runs all upgrade prerequisites.protected voidrunUpgradeTasks(List<UpgradeTask> upgradeTasks)voidsetCacheFlusher(CacheFlusher cacheFlusher)voidsetClusterConfigurationHelper(ClusterConfigurationHelperInternal clusterConfigurationHelper)Setter method for clusterConfigurationHelpervoidsetClusterLockService(com.atlassian.beehive.ClusterLockService clusterLockService)voidsetClusterManager(ClusterManager clusterManager)voidsetConfluenceHome(com.atlassian.dc.filestore.api.compat.FilesystemPath confluenceHome)voidsetDatabaseBuildNumber()Once installation is complete, we'll need to set the database build number in the database, so that a subsequent startup of Confluence is able to check that the home directory build number matches the database build number (see https://jira.atlassian.com/browse/CONF-13798).protected voidsetDatabaseBuildNumber(String databaseBuildNumber)Once the upgrade is complete, we'll need to set the new database build number in the database.voidsetEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)voidsetFinalizationManager(UpgradeFinalizationManager finalizationManager)voidsetGlobalSettingsManager(GlobalSettingsManager globalSettingsManager)voidsetLicenseService(LicenseService licenseService)voidsetRecoveryFileGenerator(RecoveryFileGenerator recoveryFileGenerator)voidsetSchemaHelper(ConfluenceSchemaHelper schemaHelper)voidsetUpgradeGate(UpgradeGate upgradeGate)voidsetVersionHistoryDao(VersionHistoryDao versionHistoryDao)protected voidupdateSchemaIfNeeded()protected voidvalidateSchemaUpdateIfNeeded()- 
Methods inherited from class com.atlassian.confluence.upgrade.AbstractUpgradeManagerassertNoDuplicateBuildNumbers, configuredBuildNumberNewerThan, getAllUpgradeTasks, getAllUpgradeTasksInfo, getConfiguredBuildNumber, getErrors, getExportBuildNumber, getOldestSpaceImportAllowed, getPluginDependentUpgradeTasks, getPluginExportCompatibility, getPreSchemaUpgradeTasks, getSchemaUpgradeTasks, getUpgradeTasks, getUpgradeTasksToRun, isUpgraded, neededSchemaUpgrade, setApplicationConfig, setBeanFactory, setConfiguredBuildNumber, setPluginAccessor, setPluginDependentUpgradeTaskNames, setPluginDependentUpgradeTasks, setPreSchemaUpgradeTaskNames, setPreSchemaUpgradeTasks, setSchemaUpgradeTaskNames, setSchemaUpgradeTasks, setUpgradedFlag, setUpgradeTaskNames, setUpgradeTasks, taskNewerThan, upgrade, upgradeStarted, upgradeTaskSucceeded
 
- 
 
- 
- 
- 
Method Detail- 
setFinalizationManagerpublic void setFinalizationManager(UpgradeFinalizationManager finalizationManager) 
 - 
setLicenseServicepublic void setLicenseService(LicenseService licenseService) 
 - 
setGlobalSettingsManagerpublic void setGlobalSettingsManager(GlobalSettingsManager globalSettingsManager) 
 - 
setSchemaHelperpublic void setSchemaHelper(ConfluenceSchemaHelper schemaHelper) 
 - 
validateSchemaUpdateIfNeededprotected void validateSchemaUpdateIfNeeded() throws com.atlassian.config.ConfigurationException- Specified by:
- validateSchemaUpdateIfNeededin class- AbstractUpgradeManager
- Throws:
- com.atlassian.config.ConfigurationException
 
 - 
updateSchemaIfNeededprotected void updateSchemaIfNeeded() throws com.atlassian.config.ConfigurationException- Specified by:
- updateSchemaIfNeededin class- AbstractUpgradeManager
- Throws:
- com.atlassian.config.ConfigurationException
 
 - 
releaseSchemaReferencesprotected void releaseSchemaReferences() - Specified by:
- releaseSchemaReferencesin class- AbstractUpgradeManager
 
 - 
finalizeIfNeededprotected void finalizeIfNeeded() throws UpgradeException- Specified by:
- finalizeIfNeededin class- AbstractUpgradeManager
- Throws:
- UpgradeException
 
 - 
afterPropertiesSetpublic void afterPropertiesSet() - Specified by:
- afterPropertiesSetin interface- org.springframework.beans.factory.InitializingBean
- Overrides:
- afterPropertiesSetin class- AbstractUpgradeManager
 
 - 
getRealBuildNumberprotected String getRealBuildNumber() - Specified by:
- getRealBuildNumberin class- AbstractUpgradeManager
- Returns:
- The build number of the new version of Confluence being upgraded to. This number can be found in the default.properties of the new expanded WAR
 
 - 
getDatabaseBuildNumberprotected String getDatabaseBuildNumber() - Specified by:
- getDatabaseBuildNumberin class- AbstractUpgradeManager
- Returns:
- The build number of the data in the database. If the version of the database data can not be
 determined, this method should return the same value as AbstractUpgradeManager.getConfiguredBuildNumber().
 
 - 
runUpgradePrerequisitesprotected List<UpgradeError> runUpgradePrerequisites() Description copied from class:AbstractUpgradeManagerRuns all upgrade prerequisites.- Specified by:
- runUpgradePrerequisitesin class- AbstractUpgradeManager
- Returns:
- an empty list if all upgrade prerequisites pass, otherwise, returns a list consisting of one or more failure messages.
 
 - 
needUpgradepublic 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:
- needUpgradein interface- UpgradeManager
- Overrides:
- needUpgradein class- AbstractUpgradeManager
 
 - 
setDatabaseBuildNumberpublic void setDatabaseBuildNumber() Description copied from interface:UpgradeManagerOnce installation is complete, we'll need to set the database build number in the database, so that a subsequent startup of Confluence is able to check that the home directory build number matches the database build number (see https://jira.atlassian.com/browse/CONF-13798).
 - 
setDatabaseBuildNumberprotected void setDatabaseBuildNumber(String databaseBuildNumber) throws Exception Description copied from class:AbstractUpgradeManagerOnce the upgrade is complete, we'll need to set the new database build number in the database.- Specified by:
- setDatabaseBuildNumberin class- AbstractUpgradeManager
- Parameters:
- databaseBuildNumber- The new database build number
- Throws:
- Exception- when there is any problem setting the database build number
 
 - 
beforeUpgradeprotected void beforeUpgrade() - Overrides:
- beforeUpgradein class- AbstractUpgradeManager
 
 - 
postUpgradeprotected void postUpgrade() - Overrides:
- postUpgradein class- AbstractUpgradeManager
 
 - 
initialUpgradeFinishedprotected void initialUpgradeFinished() throws ExceptionUpdate the pluginFrameworkDependent upgrade status based on whether there are any plugin framework dependent upgrade tasks to run.- Overrides:
- initialUpgradeFinishedin class- AbstractUpgradeManager
- Throws:
- Exception- when setting the database or configuration build number fails
 
 - 
entireUpgradeFinishedpublic void entireUpgradeFinished() Description copied from interface:UpgradeManagerCalled when all immediate and deferred upgrade actions have been performed *if* an upgrade was needed.- Specified by:
- entireUpgradeFinishedin interface- UpgradeManager
- Overrides:
- entireUpgradeFinishedin class- AbstractUpgradeManager
 
 - 
permitDatabaseUpgradesprotected boolean permitDatabaseUpgrades() 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)
 - Overrides:
- permitDatabaseUpgradesin class- AbstractUpgradeManager
- Returns:
- True by default. Is overridden for cluster upgrades.
 
 - 
runUpgradeTasksprotected void runUpgradeTasks(List<UpgradeTask> upgradeTasks) throws UpgradeException - Overrides:
- runUpgradeTasksin class- AbstractUpgradeManager
- Throws:
- UpgradeException
 
 - 
setCacheFlusherpublic void setCacheFlusher(CacheFlusher cacheFlusher) - Since:
- 5.10
 
 - 
setEventPublisherpublic void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher) 
 - 
setVersionHistoryDaopublic void setVersionHistoryDao(VersionHistoryDao versionHistoryDao) 
 - 
setClusterManagerpublic void setClusterManager(ClusterManager clusterManager) 
 - 
setClusterLockServicepublic void setClusterLockService(com.atlassian.beehive.ClusterLockService clusterLockService) 
 - 
setUpgradeGatepublic void setUpgradeGate(UpgradeGate upgradeGate) 
 - 
setRecoveryFileGeneratorpublic void setRecoveryFileGenerator(RecoveryFileGenerator recoveryFileGenerator) 
 - 
setClusterConfigurationHelperpublic void setClusterConfigurationHelper(ClusterConfigurationHelperInternal clusterConfigurationHelper) Setter method for clusterConfigurationHelper- Parameters:
- clusterConfigurationHelper- the injected Spring bean
- Since:
- 6.10.1
 
 - 
setConfluenceHomepublic void setConfluenceHome(com.atlassian.dc.filestore.api.compat.FilesystemPath confluenceHome) 
 
- 
 
-