X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FCmsWorkspaceIndexer.java;h=1f534af0d92dab62d433b3352ccba8219ea65872;hb=85478bbe1d6fd4f1efd5b461cdf02da17d282930;hp=14375b99ee63e8570eee5e6cf27375be220970e6;hpb=0778fee49ac173d17aea2675644871ba627f7885;p=lgpl%2Fargeo-commons.git 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) {