Class DeploymentSynchronizationManager


  • public final class DeploymentSynchronizationManager
    extends Object
    This class is responsible for creating DeploymentSynchronizer instances as and when necessary and keeping track of them for management purposes. It also provides a base framework for scheduling automatic repository synchronization tasks.
    • Method Detail

      • init

        public void init​(org.wso2.carbon.base.ServerConfiguration serverConfig)
        Initialize the RepositoryManager instance. The RepositoryManager must be initialized by calling this method, before synchronizers can use it to schedule tasks.
        Parameters:
        serverConfig - Active Carbon ServerConfiguration
      • shutdown

        public void shutdown()
        Cleanup and shutdown the RepositoryManager instance. This method will also gracefully destroy all the created synchronizers, cancel any existing scheduled tasks and then free up any additional resources.
      • createSynchronizer

        public DeploymentSynchronizer createSynchronizer​(int tenantId,
                                                         ArtifactRepository artifactRepository,
                                                         String filePath)
        Creates a new DeploymentSynchronizer instance using the provided parameters. A given file path may only have one DeploymentSynchronizer engaged on it. Any attempts to create multiple DeploymentSynchronizer instances on the same file path will result in an IllegalStateException. This method only creates DeploymentSynchronizer instances. The caller should take action to customize and further initialize the repository as required.
        Parameters:
        artifactRepository - ArtifactRepository representing the remote repository
        filePath - File path in the local file system
        Returns:
        a DeploymentSynchronizer instance
      • deleteSynchronizer

        public DeploymentSynchronizer deleteSynchronizer​(String filePath)
        Deletes the DeploymentSynchronizer for the specified file path. This will simply remove the repository from the control of the DeploymentSynchronizationManager. Any tasks spawned by the synchronizer will continue to run until the synchronizer is properly stopped.
        Parameters:
        filePath - File path on which the repository is created
        Returns:
        A RegistryBasedRepository or null