Class ThreadedStreamConsumer
java.lang.Object
org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer
- All Implemented Interfaces:
Closeable
,AutoCloseable
,org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>
public final class ThreadedStreamConsumer
extends Object
implements org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>, Closeable
Knows how to reconstruct *all* the state transmitted over Channel by the forked process.
After applying the performance improvements with
After applying the performance improvements with
ThreadedStreamConsumer.QueueSynchronizer
the throughput becomes
6.33 mega messages per second
(158 nano seconds 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
ConstructorsConstructorDescriptionThreadedStreamConsumer
(org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event> target) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
handleEvent
(org.apache.maven.surefire.api.event.Event event)
-
Constructor Details
-
ThreadedStreamConsumer
public ThreadedStreamConsumer(org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event> target)
-
-
Method Details
-
handleEvent
- Specified by:
handleEvent
in interfaceorg.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-