X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FKernelThread.java;h=a127866e3a28c086dc1010911f8879d9b821e1ae;hb=b6cad136dfd4589bc2a8f48ec9168732517f451b;hp=944a7cd3dbcf3bd42b59afdc37ce535c49bff558;hpb=ba8f8a6fb8ad9649dd03b2ac4670d194f0e1be79;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java index 944a7cd3d..a127866e3 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java @@ -1,5 +1,6 @@ package org.argeo.cms.internal.kernel; +import java.awt.image.Kernel; import java.io.File; import java.lang.management.ManagementFactory; @@ -7,13 +8,15 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.jackrabbit.api.stats.RepositoryStatistics; import org.apache.jackrabbit.stats.RepositoryStatisticsImpl; -import org.argeo.cms.CmsException; +import org.argeo.cms.internal.auth.CmsSessionImpl; /** * Background thread started by the {@link Kernel}, which gather statistics and * monitor/control other processes. */ class KernelThread extends Thread { + private final static Log log = LogFactory.getLog(KernelThread.class); + private RepositoryStatisticsImpl repoStats; /** The smallest period of operation, in ms */ @@ -35,6 +38,9 @@ class KernelThread extends Thread { } private void doSmallestPeriod() { + // Clean expired sessions + CmsSessionImpl.closeInvalidSessions(); + if (kernelStatsLog.isDebugEnabled()) { StringBuilder line = new StringBuilder(64); line.append("§\t"); @@ -85,6 +91,8 @@ class KernelThread extends Thread { @Override public void run() { + if (log.isTraceEnabled()) + log.trace("Kernel thread started."); final long periodNs = PERIOD * m; while (running) { long beginNs = System.nanoTime(); @@ -106,11 +114,12 @@ class KernelThread extends Thread { synchronized void destroyAndJoin() { running = false; notifyAll(); - interrupt(); - try { - join(PERIOD * 2); - } catch (InterruptedException e) { - throw new CmsException("Kernel thread destruction was interrupted"); - } +// interrupt(); +// try { +// join(PERIOD * 2); +// } catch (InterruptedException e) { +// // throw new CmsException("Kernel thread destruction was interrupted"); +// log.error("Kernel thread destruction was interrupted", e); +// } } }