synchronized void processConnections(final InetAddress bindInterface, final int port) {
        if (socketProcess != null) {
            if (proxyPort == port) {
                return;
            }
        }
        reset();
        socketProcess = executor.submit(() -> {
            try {
                serverSocket = new ServerSocket(port, -1, bindInterface);
            }
            catch (IOException e) {
                Log.error("Error creating server socket", e);
                return;
            }
            while (serverSocket.isBound()) {
                final Socket socket;
                try {
                    socket = serverSocket.accept();
                }
                catch (IOException e) {
                    if (!serverSocket.isClosed()) {
                        Log.error("Error accepting proxy connection", e);
                        continue;
                    }
                    else {
                        break;
                    }
                }
                executor.submit(() -> {
                    try {
                        processConnection(socket);
                    }
                    catch (IOException ie) {
                        try {
                            Log.info("Unable to process data send through inbound connection from {} to file transfer proxy: {}", socket.getInetAddress(), ie.getMessage());
                            socket.close();
                        }
                        catch (IOException e) {
                            Log.debug("An exception occurred while trying to close a socket after processing data delivered by it caused an exception.", e);
                        }
                    }
                });
            }
        });
        proxyPort = port;
    }
Object name used to register delegate MBean (JMX) for the thread pool executor.
xmppserver/src/main/java/org/jivesoftware/openfire/filetransfer/proxy/ProxyConnectionManager.java