private void init(TP transport) { TransportConfiguration transportConfig = this.configuration.getTransport(); SocketBinding binding = transportConfig.getSocketBinding(); if (binding != null) { SocketFactory factory = transport.getSocketFactory(); if (!(factory instanceof ManagedSocketFactory)) { transport.setSocketFactory(new ManagedSocketFactory(factory, binding.getSocketBindings())); } } ThreadFactory threadFactory = transportConfig.getThreadFactory(); if (threadFactory != null) { if (!(transport.getThreadFactory() instanceof ThreadFactoryAdapter)) { transport.setThreadFactory(new ThreadFactoryAdapter(threadFactory)); } } ExecutorService defaultExecutor = transportConfig.getDefaultExecutor(); if (defaultExecutor != null) { if (!(transport.getDefaultThreadPool() instanceof ManagedExecutorService)) { transport.setDefaultThreadPool(new ManagedExecutorService(defaultExecutor)); } } ExecutorService oobExecutor = transportConfig.getOOBExecutor(); if (oobExecutor != null) { if (!(transport.getOOBThreadPool() instanceof ManagedExecutorService)) { transport.setOOBThreadPool(new ManagedExecutorService(oobExecutor)); } } ScheduledExecutorService timerExecutor = transportConfig.getTimerExecutor(); if (timerExecutor != null) { if (!(transport.getTimer() instanceof TimerSchedulerAdapter)) { this.setValue( transport, "timer", new TimerSchedulerAdapter(new ManagedScheduledExecutorService(timerExecutor))); } } }