diff --git a/src/main/java/teetime/framework/AbstractInterThreadPipe.java b/src/main/java/teetime/framework/AbstractInterThreadPipe.java index 5b11b35fd6ef1cab297780ede1512a526a0dc58b..d359cf921e5c73cb5a704666ee2e81eeda5c0889 100644 --- a/src/main/java/teetime/framework/AbstractInterThreadPipe.java +++ b/src/main/java/teetime/framework/AbstractInterThreadPipe.java @@ -7,11 +7,14 @@ import org.jctools.queues.QueueFactory; import org.jctools.queues.spec.ConcurrentQueueSpec; import org.jctools.queues.spec.Ordering; import org.jctools.queues.spec.Preference; +import org.slf4j.LoggerFactory; import teetime.framework.signal.ISignal; public abstract class AbstractInterThreadPipe extends AbstractPipe { + private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(AbstractInterThreadPipe.class); + private final Queue<ISignal> signalQueue = QueueFactory.newQueue(new ConcurrentQueueSpec(1, 1, 0, Ordering.FIFO, Preference.THROUGHPUT)); protected <T> AbstractInterThreadPipe(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) { @@ -24,7 +27,7 @@ public abstract class AbstractInterThreadPipe extends AbstractPipe { Thread owningThread = cachedTargetStage.getOwningThread(); if (owningThread == null) { - System.err.println("cachedTargetStage: " + cachedTargetStage); + LOGGER.warn("owningThread of " + cachedTargetStage + " is null."); } if (null != owningThread && isThreadWaiting(owningThread)) { // FIXME remove the null check for performance owningThread.interrupt();