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();