]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/services/impl/AgentServiceImpl.java
Update license header
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / services / impl / AgentServiceImpl.java
index ff1b8124bba5779a8d061060efa4d60b8035eee8..60df72a9cf526ba33ced1d1cfcdeb4b879aac745 100644 (file)
@@ -18,10 +18,10 @@ package org.argeo.slc.services.impl;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.Executor;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.argeo.security.ArgeoSecurityService;
 import org.argeo.slc.dao.runtime.SlcAgentDescriptorDao;
 import org.argeo.slc.runtime.SlcAgent;
 import org.argeo.slc.runtime.SlcAgentDescriptor;
@@ -37,7 +37,7 @@ public class AgentServiceImpl implements AgentService, InitializingBean,
        private final SlcAgentDescriptorDao slcAgentDescriptorDao;
        private final SlcAgentFactory agentFactory;
 
-       private ArgeoSecurityService securityService;
+       private Executor systemExecutor;
 
        private Long pingCycle = 20000l;
 
@@ -65,9 +65,11 @@ public class AgentServiceImpl implements AgentService, InitializingBean,
                // if (pingCycle > 0)
                // new PingThread().start();
                if (pingCycle > 0) {
-                       Thread authenticatedThread = new Thread(securityService
-                                       .wrapWithSystemAuthentication(new AgentsPing()),
-                                       "SLC Agents Ping");
+                       Thread authenticatedThread = new Thread("SLC Agents Ping") {
+                               public void run() {
+                                       systemExecutor.execute(new AgentsPing());
+                               }
+                       };
                        authenticatedThread.start();
 
                }
@@ -82,8 +84,8 @@ public class AgentServiceImpl implements AgentService, InitializingBean,
                this.pingCycle = pingCycle;
        }
 
-       public void setSecurityService(ArgeoSecurityService securityService) {
-               this.securityService = securityService;
+       public void setSystemExecutor(Executor securityService) {
+               this.systemExecutor = securityService;
        }
 
        protected class AgentsPing implements Runnable {
@@ -106,7 +108,7 @@ public class AgentServiceImpl implements AgentService, InitializingBean,
                                        agentIds.add(ad.getUuid());
 
                                if (log.isTraceEnabled())
-                                       log.debug("Ping " + agentIds.size() + " agent.");
+                                       log.trace("Ping " + agentIds.size() + " agent(s).");
                                for (String agentId : agentIds) {
                                        SlcAgent agent = agentFactory.getAgent(agentId);
                                        if (!agent.ping()) {