// Initialise the thread pool to have the requested number of threads available, life span of threads (set to 0) not used as threads will never be eligible to die as coreSize = maxSize
public void initThreadPool() {
CustomizableThreadFactory ctf = new CustomizableThreadFactory();
ctf.setDaemon(true);
ctf.setThreadNamePrefix(getTransportName()+"-Publisher-");
threadPool = new JMXReportingThreadPoolExecutor(threadPoolSize, threadPoolSize, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), ctf);
}