package com.digitalpetri.opcua.stack.core;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.ScheduledExecutorService;

import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.util.HashedWheelTimer;

public final class Stack {

    public static final String UA_TCP_BINARY_TRANSPORT_URI =
            "http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary";

    public static final int DEFAULT_PORT = 12685;

    public static final NioEventLoopGroup EVENT_LOOP = new NioEventLoopGroup();

    public static final ExecutorService EXECUTOR_SERVICE = new ForkJoinPool(
            Runtime.getRuntime().availableProcessors() * 2,
            ForkJoinPool.defaultForkJoinWorkerThreadFactory,
            null, true);

    public static final ScheduledExecutorService SCHEDULED_EXECUTOR_SERVICE =
            Executors.newScheduledThreadPool(Runtime.getRuntime().availableProcessors() * 2);

    public static final HashedWheelTimer WHEEL_TIMER = new HashedWheelTimer();

}

@@ -125,50 +125,8 @@
 rs;%0A
-import java.util.concurrent.ForkJoinPool;%0A
 impo
@@ -629,169 +629,38 @@
 E = 
-new ForkJoinPool(%0A            Runtime.getRuntime().availableProcessors() * 2,%0A            ForkJoinPool.defaultForkJoinWorkerThreadFactory,%0A            null, true
+Executors.newWorkStealingPool(
 );%0A%0A

Use Executors.newWorkStealingPool()