code: public void handleConnection(Socket socket) throws IOException
      {
          // Check acceptable remote servers
          if (_remoteServers!=null&&_remoteServers.length>0)
          {
              boolean match=false;
              InetAddress inetAddress=socket.getInetAddress();
              String hostAddr=inetAddress.getHostAddress();
              String hostName=inetAddress.getHostName();
              for (int i=0; i<_remoteServers.length; i++)
              {
                  if (hostName.equals(_remoteServers[i])||hostAddr.equals(_remoteServers[i]))
                  {
                      match=true;
                      break;
                  }
              }
              if (!match)
              {
                  log.warn("AJP13 Connection from un-approved host: "+inetAddress);
                  return;
              }
          }
  
          // Handle the connection
          socket.setTcpNoDelay(true);
          socket.setSoTimeout(getMaxIdleTimeMs());
          AJP13Connection connection=createConnection(socket);
          try
          {
              connection.handle();
          }
          finally
          {
              connection.destroy();
          }
      }
docs: Handle Job. Implementation of ThreadPool.handle(), calls
  handleConnection.
  
  @param socket
  A Connection.