mirror of
https://github.com/Alfresco/SearchServices.git
synced 2026-09-16 18:12:56 +00:00
SEARCH-1949 Refactor tracker registration.
This commit is contained in:
+4
-2
@@ -255,6 +255,8 @@ public class SolrInformationServer implements InformationServer
|
||||
*/
|
||||
private static final int BATCH_FACET_TXS = 4096;
|
||||
private static final String FINGERPRINT_FIELD = "MINHASH";
|
||||
/** Shared property to determine if the cascade tracking is enabled. */
|
||||
public static final String CASCADE_TRACKER_ENABLED = "alfresco.cascade.tracker.enabled";
|
||||
|
||||
private final AlfrescoCoreAdminHandler adminHandler;
|
||||
private final SolrCore core;
|
||||
@@ -484,9 +486,9 @@ public class SolrInformationServer implements InformationServer
|
||||
*
|
||||
* @return true if cascade tracking is enabled (note that this is the default behaviour if not specified in the properties file).
|
||||
*/
|
||||
private boolean cascadeTrackingEnabled()
|
||||
public boolean cascadeTrackingEnabled()
|
||||
{
|
||||
String cascadeTrackerEnabledProp = ofNullable((String) props.get("alfresco.cascade.tracker.enabled")).orElse("true");
|
||||
String cascadeTrackerEnabledProp = ofNullable((String) props.get(CASCADE_TRACKER_ENABLED)).orElse("true");
|
||||
return Boolean.valueOf(cascadeTrackerEnabledProp);
|
||||
}
|
||||
|
||||
|
||||
+25
-15
@@ -21,6 +21,15 @@ package org.alfresco.solr.lifecycle;
|
||||
import static java.util.Arrays.asList;
|
||||
import static java.util.Optional.ofNullable;
|
||||
|
||||
import static org.alfresco.solr.SolrInformationServer.CASCADE_TRACKER_ENABLED;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import org.alfresco.opencmis.dictionary.CMISStrictDictionaryService;
|
||||
import org.alfresco.solr.AlfrescoCoreAdminHandler;
|
||||
import org.alfresco.solr.AlfrescoSolrDataModel;
|
||||
@@ -54,13 +63,6 @@ import org.apache.solr.search.SolrIndexSearcher;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
/**
|
||||
* Listeners for *FIRST SEARCHER* events in order to prepare and register the SolrContentStore and the Tracking Subsystem.
|
||||
*
|
||||
@@ -257,19 +259,27 @@ public class SolrCoreLoadListener extends AbstractSolrEventListener
|
||||
trackerRegistry,
|
||||
scheduler);
|
||||
|
||||
CascadeTracker cascadeTracker =
|
||||
registerAndSchedule(
|
||||
new CascadeTracker(props, repositoryClient, core.getName(), srv),
|
||||
core,
|
||||
props,
|
||||
trackerRegistry,
|
||||
scheduler);
|
||||
List<Tracker> trackers = new ArrayList<>();
|
||||
|
||||
String cascadeTrackerEnabledProp = ofNullable((String) props.get(CASCADE_TRACKER_ENABLED)).orElse("true");
|
||||
if (Boolean.valueOf(cascadeTrackerEnabledProp))
|
||||
{
|
||||
CascadeTracker cascadeTracker =
|
||||
registerAndSchedule(
|
||||
new CascadeTracker(props, repositoryClient, core.getName(), srv),
|
||||
core,
|
||||
props,
|
||||
trackerRegistry,
|
||||
scheduler);
|
||||
trackers.add(cascadeTracker);
|
||||
}
|
||||
|
||||
//The CommitTracker will acquire these locks in order
|
||||
//The ContentTracker will likely have the longest runs so put it first to ensure the MetadataTracker is not paused while
|
||||
//waiting for the ContentTracker to release it's lock.
|
||||
//The aclTracker will likely have the shortest runs so put it last.
|
||||
return asList(cascadeTracker, contentTracker, metadataTracker, aclTracker);
|
||||
trackers.addAll(asList(contentTracker, metadataTracker, aclTracker));
|
||||
return trackers;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user