diff --git a/src/main/java/org/codelibs/fess/crawler/processor/FessResponseProcessor.java b/src/main/java/org/codelibs/fess/crawler/processor/FessResponseProcessor.java index fe1f63c3c..60c090212 100644 --- a/src/main/java/org/codelibs/fess/crawler/processor/FessResponseProcessor.java +++ b/src/main/java/org/codelibs/fess/crawler/processor/FessResponseProcessor.java @@ -30,11 +30,13 @@ import org.codelibs.fess.util.ComponentUtil; public class FessResponseProcessor extends DefaultResponseProcessor { private static final Logger logger = LogManager.getLogger(FessResponseProcessor.class); - private IngestFactory ingestFactory; + private IngestFactory ingestFactory = null; @PostConstruct public void init() { - ingestFactory = ComponentUtil.getIngestFactory(); + if (ComponentUtil.hasIngestFactory()) { + ingestFactory = ComponentUtil.getIngestFactory(); + } } @Override @@ -43,6 +45,9 @@ public class FessResponseProcessor extends DefaultResponseProcessor { } private ResultData ingest(final ResponseData responseData, final ResultData resultData) { + if (ingestFactory == null) { + return resultData; + } ResultData target = resultData; for (final Ingester ingester : ingestFactory.getIngesters()) { try { diff --git a/src/main/java/org/codelibs/fess/ds/callback/IndexUpdateCallbackImpl.java b/src/main/java/org/codelibs/fess/ds/callback/IndexUpdateCallbackImpl.java index 7ddf9ae9f..e1c6ca2eb 100644 --- a/src/main/java/org/codelibs/fess/ds/callback/IndexUpdateCallbackImpl.java +++ b/src/main/java/org/codelibs/fess/ds/callback/IndexUpdateCallbackImpl.java @@ -52,7 +52,7 @@ public class IndexUpdateCallbackImpl implements IndexUpdateCallback { protected int maxDocumentCacheSize; - private IngestFactory ingestFactory; + private IngestFactory ingestFactory = null; @PostConstruct public void init() { @@ -61,7 +61,9 @@ public class IndexUpdateCallbackImpl implements IndexUpdateCallback { } maxDocumentRequestSize = Long.parseLong(ComponentUtil.getFessConfig().getIndexerDataMaxDocumentRequestSize()); maxDocumentCacheSize = ComponentUtil.getFessConfig().getIndexerDataMaxDocumentCacheSizeAsInteger(); - ingestFactory = ComponentUtil.getIngestFactory(); + if (ComponentUtil.hasIngestFactory()) { + ingestFactory = ComponentUtil.getIngestFactory(); + } } /* (non-Javadoc) diff --git a/src/main/java/org/codelibs/fess/util/ComponentUtil.java b/src/main/java/org/codelibs/fess/util/ComponentUtil.java index 301de1c5a..516e2d032 100644 --- a/src/main/java/org/codelibs/fess/util/ComponentUtil.java +++ b/src/main/java/org/codelibs/fess/util/ComponentUtil.java @@ -528,6 +528,10 @@ public final class ComponentUtil { return SingletonLaContainerFactory.getContainer().hasComponentDef(RELATED_QUERY_HELPER); } + public static boolean hasIngestFactory() { + return SingletonLaContainerFactory.getContainer().hasComponentDef(INGEST_FACTORY); + } + public static boolean available() { try { return SingletonLaContainer.getComponent(SYSTEM_HELPER) != null;