* @throws RegistryException If an error occurs while accessing the registry
*/
public static DeploymentSynchronizer newCarbonRepositorySynchronizer(int tenantId)
throws RegistryException {
DeploymentSynchronizerConfiguration config = getActiveSynchronizerConfiguration(tenantId);
if (config.isEnabled()) {
UserRegistry registry = Utils.getRegistry(tenantId);
String registryPath = getCarbonRepositoryRegistryPath(tenantId);
String filePath = MultitenantUtils.getAxis2RepositoryPath(tenantId);
DeploymentSynchronizer synchronizer = DeploymentSynchronizationManager.getInstance().
createSynchronizer(registry, registryPath, filePath);
synchronizer.setAutoCommit(config.isAutoCommit());
synchronizer.setAutoCheckout(config.isAutoCheckout());
synchronizer.setPeriod(config.getPeriod());
if (config.isUseEventing() && ServiceReferenceHolder.getEventingService() != null) {
AutoCheckoutController checkoutController = new EventingBasedAutoCheckoutController(
registry, registryPath);
synchronizer.setAutoCheckoutController(checkoutController);
}