diff --git a/config/alfresco/web-scripts-application-context.xml b/config/alfresco/web-scripts-application-context.xml index 7b9851645a..12db6497fd 100644 --- a/config/alfresco/web-scripts-application-context.xml +++ b/config/alfresco/web-scripts-application-context.xml @@ -110,7 +110,13 @@ - + + + + + + + @@ -120,6 +126,8 @@ + + diff --git a/source/java/org/alfresco/repo/web/scripts/RepositoryContainer.java b/source/java/org/alfresco/repo/web/scripts/RepositoryContainer.java index 9069bf9c0d..87dce7d53b 100644 --- a/source/java/org/alfresco/repo/web/scripts/RepositoryContainer.java +++ b/source/java/org/alfresco/repo/web/scripts/RepositoryContainer.java @@ -56,6 +56,7 @@ import org.alfresco.web.scripts.Description.RequiredAuthentication; import org.alfresco.web.scripts.Description.RequiredTransaction; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.ObjectFactory; /** @@ -76,14 +77,24 @@ public class RepositoryContainer extends AbstractRuntimeContainer implements Ten private PermissionService permissionService; private DescriptorService descriptorService; private TenantDeployerService tenantDeployerService; - + private ObjectFactory registryFactory; private SimpleCache webScriptsRegistryCache; + /** + * @param webScriptsRegistryCache + */ public void setWebScriptsRegistryCache(SimpleCache webScriptsRegistryCache) { this.webScriptsRegistryCache = webScriptsRegistryCache; } + /** + * @param registryFactory + */ + public void setRegistryFactory(ObjectFactory registryFactory) { + this.registryFactory = registryFactory; + } + /** * @param repository */ @@ -366,7 +377,7 @@ public class RepositoryContainer extends AbstractRuntimeContainer implements Ten { tenantDeployerService.register(this); - Registry registry = super.getRegistry().cloneEmpty(); + Registry registry = (Registry)registryFactory.getObject(); webScriptsRegistryCache.put(tenantDeployerService.getCurrentUserDomain(), registry); super.reset();