public void serviceJspFile(
      HttpServletRequest request, HttpServletResponse response, String jspUri, boolean precompile)
      throws ServletException, IOException, RemoteException {
    try {

      org.apache.jasper.servlet.JspServletWrapperRemoteInterface wrapper = rctxt.getWrapper(jspUri);
      if (wrapper == null) {
        synchronized (this) {
          wrapper = rctxt.getWrapper(jspUri);
          if (wrapper == null) {
            // Check if the requested JSP page exists, to avoid
            // creating unnecessary directories and files.
            if (null == context.getResource(jspUri)) {
              handleMissingResource(request, response, jspUri);
              return;
            }
            wrapper = gerenciadornuvem1.getJspServletWrapper(config, options, jspUri, rctxt);
            rctxt.addWrapper(jspUri, wrapper);
          }
        }
      }

      try {
        wrapper.service(request, response, precompile);
      } catch (FileNotFoundException fnfe) {
        handleMissingResource(request, response, jspUri);
      }

    } catch (Exception excp) {
      excp.printStackTrace();
    }
  }
 @Override
 public void periodicEvent() throws RemoteException {
   try {
     rctxt.checkUnload();
     rctxt.checkCompile();
   } catch (Exception excp) {
     excp.printStackTrace();
   }
 }
  @Override
  public void destroy() throws RemoteException {
    try {
      if (log.isDebugEnabled()) {
        log.debug("JspServlet.destroy()");
      }

      rctxt.destroy();
    } catch (Exception excp) {
      excp.printStackTrace();
    }
  }