Class DefaultUpgradeFinalizationManager

java.lang.Object
com.atlassian.confluence.upgrade.impl.DefaultUpgradeFinalizationManager
All Implemented Interfaces:
UpgradeFinalizationManager

public class DefaultUpgradeFinalizationManager extends Object implements UpgradeFinalizationManager
Since:
7.14
  • Field Details

  • Constructor Details

    • DefaultUpgradeFinalizationManager

      public DefaultUpgradeFinalizationManager(ZduStatusDao zduStatusDao, com.atlassian.beehive.ClusterLockService clusterLockService, VersionHistoryDao versionHistoryDao, com.atlassian.config.ApplicationConfiguration applicationConfig, com.atlassian.event.api.EventPublisher eventPublisher, SharedDataManager sharedDataManager, List<String> finalizeUpgradeTasks)
    • DefaultUpgradeFinalizationManager

      public DefaultUpgradeFinalizationManager(ZduStatusDao zduStatusDao, com.atlassian.beehive.ClusterLockService clusterLockService, VersionHistoryDao versionHistoryDao, com.atlassian.config.ApplicationConfiguration applicationConfig, com.atlassian.event.api.EventPublisher eventPublisher, SharedDataManager sharedDataManager, Supplier<List<UpgradeTask>> finalizeUpgradeTasksSupplier, int productBuildNumber)
  • Method Details

    • isPendingDatabaseFinalization

      public boolean isPendingDatabaseFinalization()
      Specified by:
      isPendingDatabaseFinalization in interface UpgradeFinalizationManager
      Returns:
      true if the database has not been finalized.
    • isPendingLocalFinalization

      public boolean isPendingLocalFinalization()
      Specified by:
      isPendingLocalFinalization in interface UpgradeFinalizationManager
      Returns:
      true if the local node has not been finalization tasks on this node.
    • finalizeIfNeeded

      public void finalizeIfNeeded() throws UpgradeException
      Description copied from interface: UpgradeFinalizationManager
      Perform pending finalizeUpgradeTasks on the current node (no-op if none pending) if it is required, i.e. when ZDU is disabled. If executed concurrently in multiple nodes in a cluster, only one node will exclusively perform databaseUpgrade tasks.
      Specified by:
      finalizeIfNeeded in interface UpgradeFinalizationManager
      Throws:
      UpgradeException
    • getLastRun

      Description copied from interface: UpgradeFinalizationManager
      Obtains the the most recent finalization run. Each finalization run will invalidate the previous result.
      Specified by:
      getLastRun in interface UpgradeFinalizationManager
      Returns:
      finalization result or empty
    • markAsFullyFinalized

      public void markAsFullyFinalized(boolean updateBuildNumber) throws com.atlassian.config.ConfigurationException
      Description copied from interface: UpgradeFinalizationManager
      Once installation is complete, we'll need to set the finalized build number in the database and home directory with the product build number.
      Specified by:
      markAsFullyFinalized in interface UpgradeFinalizationManager
      Parameters:
      updateBuildNumber - whether the database and home directory build numbers should be updated
      Throws:
      com.atlassian.config.ConfigurationException
    • getFinalizedConfiguredBuildNumber

      protected int getFinalizedConfiguredBuildNumber()
    • finalizeConfigureBuildNumber

      protected void finalizeConfigureBuildNumber(int buildNumber) throws com.atlassian.config.ConfigurationException
      Throws:
      com.atlassian.config.ConfigurationException
    • init

      @PostConstruct public void init()
    • destroy

      @PreDestroy public void destroy()
    • onRequested

      @EventListener public void onRequested(ZduFinalizationRequestEvent e) throws UpgradeException
      Throws:
      UpgradeException
    • onRemotelyRequested

      @EventListener public void onRemotelyRequested(ClusterEventWrapper e) throws UpgradeException
      Throws:
      UpgradeException