| | |
| | | */ |
| | | package org.opends.server.extensions; |
| | | |
| | | |
| | | |
| | | import java.lang.ref.ReferenceQueue; |
| | | import java.lang.ref.SoftReference; |
| | | import java.util.ArrayList; |
| | | import java.util.HashSet; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.LocalizableMessageBuilder; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import org.forgerock.util.Utils; |
| | | import org.opends.server.admin.server.ConfigurationChangeListener; |
| | | import org.opends.server.admin.std.server.EntryCacheCfg; |
| | | import org.opends.server.admin.std.server.SoftReferenceEntryCacheCfg; |
| | | import org.opends.server.api.Backend; |
| | | import org.opends.server.api.EntryCache; |
| | | import org.opends.server.api.DirectoryThread; |
| | | import org.opends.server.api.EntryCache; |
| | | import org.opends.server.config.ConfigException; |
| | | import org.opends.server.core.DirectoryServer; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import org.opends.server.types.Attribute; |
| | | import org.opends.server.types.CacheEntry; |
| | | import org.opends.server.types.ConfigChangeResult; |
| | |
| | | |
| | | import static org.opends.messages.ExtensionMessages.*; |
| | | |
| | | |
| | | |
| | | /** |
| | | * This class defines a Directory Server entry cache that uses soft references |
| | | * to manage objects in a way that will allow them to be freed if the JVM is |
| | |
| | | EntryCacheCommon.ConfigPhase.PHASE_INIT, null, errorMessages |
| | | ); |
| | | if (!processEntryCacheConfig(configuration, applyChanges, errorHandler)) { |
| | | LocalizableMessageBuilder buffer = new LocalizableMessageBuilder(); |
| | | if (!errorMessages.isEmpty()) { |
| | | Iterator<LocalizableMessage> iterator = errorMessages.iterator(); |
| | | buffer.append(iterator.next()); |
| | | while (iterator.hasNext()) { |
| | | buffer.append(". "); |
| | | buffer.append(iterator.next()); |
| | | } |
| | | } |
| | | String buffer = Utils.joinAsString(". ", errorMessages); |
| | | throw new ConfigException(ERR_SOFTREFCACHE_CANNOT_INITIALIZE.get(buffer)); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | @Override |
| | | public String toVerboseString() |
| | | { |
| | | StringBuilder sb = new StringBuilder(); |