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=bd5828602e808ac07432c360b90588aece0460b0;hpb=00b2a843adb4c126178eb944a72042a4ee8f6d1e;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 bd5828602..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 */ @@ -30,11 +33,14 @@ class KernelThread extends Thread { @SuppressWarnings("unused") private long cycle = 0l; - public KernelThread(CmsState cmState) { - super(cmState.threadGroup, cmState.getClass().getSimpleName()); + public KernelThread(ThreadGroup threadGroup, String name) { + super(threadGroup, name); } 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); +// } } }