Class DeploymentSynchronizationManager
java.lang.Object
org.wso2.carbon.deployment.synchronizer.DeploymentSynchronizationManager
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 Summary
Modifier and TypeMethodDescriptioncreateSynchronizer(int tenantId, ArtifactRepository artifactRepository, String filePath) Creates a new DeploymentSynchronizer instance using the provided parameters.deleteSynchronizer(int tenantId) deleteSynchronizer(String filePath) Deletes the DeploymentSynchronizer for the specified file path.getSynchronizer(int tenantId) getSynchronizer(String filePath) voidinit(org.wso2.carbon.base.ServerConfiguration serverConfig) Initialize the RepositoryManager instance.voidshutdown()Cleanup and shutdown the RepositoryManager instance.
-
Method Details
-
getInstance
-
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 repositoryfilePath- File path in the local file system- Returns:
- a DeploymentSynchronizer instance
-
getSynchronizer
-
getSynchronizer
-
getSynchronizers
-
deleteSynchronizer
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
-
deleteSynchronizer
-