0

我们的项目有两台服务器,如果一台服务器关闭,那么它应该连接到另一台服务器。但是我在这样做时遇到了这个错误。它也没有连接。

WARN:oejw.WebAppContext:Thread-5113: 无法启动上下文 oejwWebAppContext@1b14e897{/,file:///cots/ENet/webserver/webapps/cgiAdapter/,UNAVAILABLE}+ java.lang.NullPointerException+
at org.eclipse.jetty .webapp.MetaInfConfiguration.scanJars(MetaInfConfiguration.java:143)+
在 org.eclipse.jetty.webapp.MetaInfConfiguration.preConfigure(MetaInfConfiguration.java:102)+
在 org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java :506)+ 在 org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:544)+
在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)+ 在 geh.appserver .webserver.WebServerManager.systemInfoChanged(WebServerManager.java:681)+
在 geh.appserver.AppServerController.sendSystemInformation(AppServerController.java:12344)+ 在 geh.appserver.AppServerBrokerImpl.sendSystemInformation(AppServerBrokerImpl.java:966)+
在 geh.agent.XaDynamicDataManager$48.run(cd ME:13666) java.lang .IllegalStateException: 已开始

这是代码:

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();
                }
            }

        }
    }
}
4

0 回答 0