From b6102168243657f5cb7a74e95b3311916c5ee539 Mon Sep 17 00:00:00 2001 From: Steven Glover Date: Thu, 31 Jul 2014 10:59:31 +0000 Subject: [PATCH] ACE-2308 "Dictionary load errors caused by ConcurrentModificationException" Add locking/concurrent data structures to dictionary registry to deal with multi-threading introduced by asynchronously refreshed compiled models cache Code tidy up Removed unused imports git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@78693 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/repo/dictionary/DictionaryDAOTest.java | 7 ++----- .../repo/dictionary/DictionaryRepositoryBootstrapTest.java | 1 - .../alfresco/repo/dictionary/RepoDictionaryDAOTest.java | 3 --- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/source/test-java/org/alfresco/repo/dictionary/DictionaryDAOTest.java b/source/test-java/org/alfresco/repo/dictionary/DictionaryDAOTest.java index 6bd1058979..8a444bfb21 100644 --- a/source/test-java/org/alfresco/repo/dictionary/DictionaryDAOTest.java +++ b/source/test-java/org/alfresco/repo/dictionary/DictionaryDAOTest.java @@ -26,7 +26,6 @@ import java.util.List; import java.util.concurrent.ThreadPoolExecutor; import org.alfresco.model.ContentModel; -import org.alfresco.repo.cache.MemoryCache; import org.alfresco.repo.i18n.StaticMessageLookup; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.tenant.MultiTServiceImpl; @@ -34,13 +33,11 @@ import org.alfresco.repo.tenant.SingleTServiceImpl; import org.alfresco.repo.tenant.TenantService; import org.alfresco.repo.tenant.TenantUtil; import org.alfresco.repo.tenant.TenantUtil.TenantRunAsWork; -import org.alfresco.util.DynamicallySizedThreadPoolExecutor; -import org.alfresco.util.TraceableThreadFactory; -import org.alfresco.util.ThreadPoolExecutorFactoryBean; -import org.alfresco.util.cache.DefaultAsynchronouslyRefreshedCacheRegistry; import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.TypeDefinition; import org.alfresco.service.namespace.QName; +import org.alfresco.util.ThreadPoolExecutorFactoryBean; +import org.alfresco.util.cache.DefaultAsynchronouslyRefreshedCacheRegistry; import org.junit.Before; import org.junit.Test; import org.springframework.extensions.surf.util.I18NUtil; diff --git a/source/test-java/org/alfresco/repo/dictionary/DictionaryRepositoryBootstrapTest.java b/source/test-java/org/alfresco/repo/dictionary/DictionaryRepositoryBootstrapTest.java index 5b22da892e..a5b92df810 100644 --- a/source/test-java/org/alfresco/repo/dictionary/DictionaryRepositoryBootstrapTest.java +++ b/source/test-java/org/alfresco/repo/dictionary/DictionaryRepositoryBootstrapTest.java @@ -36,7 +36,6 @@ import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; import org.alfresco.service.transaction.TransactionService; import org.alfresco.test_category.BaseSpringTestsCategory; -import org.alfresco.test_category.OwnJVMTestsCategory; import org.alfresco.util.BaseAlfrescoSpringTest; import org.junit.experimental.categories.Category; diff --git a/source/test-java/org/alfresco/repo/dictionary/RepoDictionaryDAOTest.java b/source/test-java/org/alfresco/repo/dictionary/RepoDictionaryDAOTest.java index 6f9a05c203..2c21e18859 100644 --- a/source/test-java/org/alfresco/repo/dictionary/RepoDictionaryDAOTest.java +++ b/source/test-java/org/alfresco/repo/dictionary/RepoDictionaryDAOTest.java @@ -21,7 +21,6 @@ package org.alfresco.repo.dictionary; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream; -import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -31,8 +30,6 @@ import java.util.concurrent.ThreadPoolExecutor; import junit.framework.TestCase; import org.alfresco.model.ContentModel; -import org.alfresco.repo.cache.DefaultSimpleCache; -import org.alfresco.repo.cache.SimpleCache; import org.alfresco.repo.dictionary.constraint.AbstractConstraint; import org.alfresco.repo.dictionary.constraint.ConstraintRegistry; import org.alfresco.repo.dictionary.constraint.RegexConstraint;