X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft-example%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fexample%2FLogGenerator.java;h=9559f1cff422c75fc116ffbfa321338eda320175;hp=a3fe498e8dbfdb662ed431ff4a2facab99fb6e94;hb=e84f63ee098fff5b02cbce1281ca0d1208f966fa;hpb=1984e660ade65e692708722d21cbbbf76701151c diff --git a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/LogGenerator.java b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/LogGenerator.java index a3fe498e8d..9559f1cff4 100644 --- a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/LogGenerator.java +++ b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/LogGenerator.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.cluster.example; import akka.actor.ActorRef; @@ -13,49 +12,53 @@ import java.util.HashMap; import java.util.Map; import java.util.Random; import org.opendaylight.controller.cluster.example.messages.KeyValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Created by kramesha on 7/16/14. */ public class LogGenerator { + private static final Logger LOG = LoggerFactory.getLogger(LogGenerator.class); + private final Map clientToLoggingThread = new HashMap<>(); - public void startLoggingForClient(ActorRef client) { + public void startLoggingForClient(final ActorRef client) { LoggingThread lt = new LoggingThread(client); clientToLoggingThread.put(client, lt); new Thread(lt).start(); } - public void stopLoggingForClient(ActorRef client) { + public void stopLoggingForClient(final ActorRef client) { clientToLoggingThread.get(client).stopLogging(); clientToLoggingThread.remove(client); } - public class LoggingThread implements Runnable { - + public static class LoggingThread implements Runnable { + private final Random random = new Random(); private final ActorRef clientActor; + private volatile boolean stopLogging = false; - public LoggingThread(ActorRef clientActor) { + public LoggingThread(final ActorRef clientActor) { this.clientActor = clientActor; } @Override - @SuppressWarnings("checkstyle:RegexpSingleLineJava") public void run() { - Random random = new Random(); while (true) { if (stopLogging) { - System.out.println("Logging stopped for client:" + clientActor.path()); + LOG.info("Logging stopped for client: {}", clientActor.path()); break; } String key = clientActor.path().name(); int randomInt = random.nextInt(100); clientActor.tell(new KeyValue(key + "-key-" + randomInt, "value-" + randomInt), null); + try { Thread.sleep(randomInt % 10 * 1000L); } catch (InterruptedException e) { - e.printStackTrace(); + LOG.info("Interrupted while sleeping", e); } } }