Class ThreadedStreamConsumer
- java.lang.Object
-
- org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>
public final class ThreadedStreamConsumer extends java.lang.Object implements org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>, java.io.Closeable
Knows how to reconstruct *all* the state transmitted over Channel by the forked process.
After applying the performance improvements withThreadedStreamConsumer.QueueSynchronizer
the throughput becomes 6.33 mega messages per second (158 nanoseconds per message, 5 million messages within 0.79 seconds - see the test ThreadedStreamConsumerTest) on CPU i5 Dual Core 2.6 GHz and Oracle JDK 11.- Author:
- Kristian Rosenvold
-
-
Constructor Summary
Constructors Constructor Description ThreadedStreamConsumer(org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event> target)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
handleEvent(org.apache.maven.surefire.api.event.Event event)
-
-
-
Method Detail
-
handleEvent
public void handleEvent(@Nonnull org.apache.maven.surefire.api.event.Event event)
- Specified by:
handleEvent
in interfaceorg.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
-