in src/main/java/com/company/demoapplication/Main.java [52:84]
public static void main(String[] args) throws Exception {
/*
This demo application can be configured to demonstrate some common performance issues,
for example expensive logging or forgetting to re-use serializers.
*/
if (args.length > 0 && args[0].equals("with-issues")) {
logger().info("Running with performance issues.");
withIssues = true;
reuseMapper = false;
reuseLogger = false;
} else if (args.length > 0 && args[0].equals("without-issues")) {
logger().info("Running without performance issues.");
withIssues = false;
reuseMapper = true;
reuseLogger = true;
} else {
logger().error("Invalid arguments: '" + String.join(" ", args) + "'. Valid arguments are: with-issues or without-issues.");
System.exit(-1);
}
// Publisher
ScheduledExecutorService publisherScheduler = Executors.newScheduledThreadPool(1);
publisherScheduler.scheduleWithFixedDelay(() -> TaskPublisher.publishImageTransformTask(10), 0, 5, TimeUnit.SECONDS);
// Listener
ImageProcessor imageProcessor = new ImageProcessor();
while (true) {
executor().submit(imageProcessor::run).get();
}
}