0

Our project has two servers if one server is closed then it should connect to the another one. But I'm getting this error while doing so. It is not connecting either.

WARN:oejw.WebAppContext:Thread-5113: Failed startup of context o.e.j.w.WebAppContext@1b14e897{/,file:///cots/ENet/webserver/webapps/cgiAdapter/,UNAVAILABLE}+ java.lang.NullPointerException+
at org.eclipse.jetty.webapp.MetaInfConfiguration.scanJars(MetaInfConfiguration.java:143)+
at org.eclipse.jetty.webapp.MetaInfConfiguration.preConfigure(MetaInfConfiguration.java:102)+
at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:506)+ at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:544)+
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)+ at geh.appserver.webserver.WebServerManager.systemInfoChanged(WebServerManager.java:681)+
at geh.appserver.AppServerController.sendSystemInformation(AppServerController.java:12344)+ at geh.appserver.AppServerBrokerImpl.sendSystemInformation(AppServerBrokerImpl.java:966)+
at geh.agent.XaDynamicDataManager$48.run(cd ME:13666) java.lang.IllegalStateException: STARTED

Here's the code:

public void systemInfoChanged(boolean inStandbyMode) {
    logger.log(Logger.INFO, "systemInfoChanged - inStandbyMode = " + inStandbyMode);

    for (Iterator i = connectorList.iterator(); i.hasNext();) {
        WebServerConnector wsc = (WebServerConnector) i.next();

        if (inStandbyMode) {
            logger.log(Logger.DEBUG, "SHUTDOWN SISO CONTEXTS FOR ADDRESS [ " + wsc.getAddress() + " ] PORT [ "
                    + wsc.getPort() + " ]");

            if (sisoContexts != null) 
            {
                for (int c = 0; c < sisoContexts.getHandlers().length; c++) {
                    try {

                        sisoContexts.getHandlers()[c].stop();
                    } catch (Exception e) {
                        logger.log(Logger.ERROR, "Error occurred while stopping handler");
                        e.printStackTrace();
                    }
                    allContexts.removeHandler(sisoContexts.getHandlers()[c]);
                }
                sisoContexts = new ContextHandlerCollection();
                sisoContexts.setHandlers(new Handler[]  {}); //empty handler collection

                sisoUp = false;
            }
        } else {
            logger.log(Logger.DEBUG, "STARTUP SISO CONTEXTS FOR ADDRESS [ " + wsc.getAddress() + " ] PORT [ "
                    + wsc.getPort() + " ]");

            WebAppContext cgiContext = new WebAppContext();

            cgiContext.setDescriptor(root + fileSeparator + "webapps" + fileSeparator + "cgiAdapter" + "/WEB-INF/web.xml");
            cgiContext.setResourceBase(root + fileSeparator + "webapps" + fileSeparator + "cgiAdapter");                
            cgiContext.setAttribute(
                    "org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern",
                    ".*/[^/]*servlet-api-[^/]*\\.jar$|.*/javax.servlet.jsp.jstl-.*\\.jar$|.*/[^/]*taglibs.*\\.jar$" );

            if (!sisoUp) {
                try {
                    cgiContext.start(); // start handler before adding back
                                        // to the server
                    allContexts.addHandler(cgiContext);
                    sisoContexts.addHandler(cgiContext);
                    sisoUp = true;
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        }
    }
}
Eriawan Kusumawardhono
  • 4,796
  • 4
  • 46
  • 49
  • There should be more log output before that NPE and UNAVAILABLE WebAppContext telling you which JAR file it had an issue with. – Joakim Erdfelt May 28 '19 at 11:31
  • Can you provide the entire stacktrace and a few dozen log lines before/after the stacktrace please? Just edit your question and include those details. – Joakim Erdfelt May 30 '19 at 17:02

0 Answers0