我们的项目有两台服务器,如果其中一台服务器关闭,则应连接到另一台服务器。但是我在这样做时遇到了这个错误。它也没有连接。
WARN:oejw.WebAppContext:Thread-5113:无法成功启动上下文o.e.j.w.WebAppContext@1b14e897 {/,file:/// cots / ENet / webserver / webapps / cgiAdapter /,UNAVAILABLE} +
java.lang.NullPointerException +
在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();
}
}
}
}
}