From 85478bbe1d6fd4f1efd5b461cdf02da17d282930 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Mon, 27 Jan 2020 13:21:34 +0100 Subject: [PATCH] Make workspace indexer synchronous --- .../cms/internal/kernel/CmsWorkspaceIndexer.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsWorkspaceIndexer.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsWorkspaceIndexer.java index 14375b99e..1f534af0d 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsWorkspaceIndexer.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsWorkspaceIndexer.java @@ -1,6 +1,10 @@ package org.argeo.cms.internal.kernel; import java.util.GregorianCalendar; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import javax.jcr.Node; import javax.jcr.Property; @@ -158,7 +162,13 @@ class CmsWorkspaceIndexer implements EventListener { processEvents(events); } }; - Activator.getInternalExecutorService().execute(toRun); + Future future = Activator.getInternalExecutorService().submit(toRun); + try { + // make the call synchronous + future.get(60, TimeUnit.SECONDS); + } catch (TimeoutException | ExecutionException | InterruptedException e) { + // silent + } } static String toEtag(Value v) { -- 2.30.2