private void executeSocketSession(SocketSession socketSession){
		try {
			executorService.execute(socketSession.session);
		} catch (final RejectedExecutionException e) {
			connectionPermits.release();
			synchronized (this) {
				this.sessionThreads.remove(socketSession.session);
			}
			LOGGER.error("Error while executing a session", e);
			try {
				socketSession.socket.close();
			} catch (final IOException e1) {
				LOGGER.debug("Cannot close socket after exception", e1);
			}
		}
	}
Accept connections and run them in session threads until shutdown.
src/main/java/de/gessnerfl/fakesmtp/smtp/server/BaseSmtpServerRunnable.java