@Override
public synchronized void start(StartContext context) throws StartException {
log.debug("Starting Management Communication Service");
final ExecutorService executorService = executorServiceValue.getValue();
final ThreadFactory threadFactory = threadFactoryValue.getValue();
final NetworkInterfaceBinding interfaceBinding = interfaceBindingValue.getValue();
final Integer port = portValue.getValue();
try {
final ProtocolServer.Configuration config = new ProtocolServer.Configuration();
config.setBindAddress(new InetSocketAddress(interfaceBinding.getAddress(), port));
config.setThreadFactory(threadFactory);
config.setReadExecutor(executorService);
config.setSocketFactory(ServerSocketFactory.getDefault());
config.setBacklog(50);
config.setConnectionHandler(this);