0
我应该使用一个Server对象,并且需要打开多个端口和多个应用程序(WAR文件)。 防爆,一个服务器对象, 8080 addition.war 8081 subraction.war 等jetty服务器9.1多个嵌入式端口和应用程序在同一服务器实例中
我使用的是Jetty服务器9.1.0 我怎样才能做到这一点?
我应该使用一个Server对象,并且需要打开多个端口和多个应用程序(WAR文件)。 防爆,一个服务器对象, 8080 addition.war 8081 subraction.war 等jetty服务器9.1多个嵌入式端口和应用程序在同一服务器实例中
我使用的是Jetty服务器9.1.0 我怎样才能做到这一点?
要做到这一点,你需要:
ServerConnector
应该有一个唯一的名称申报通过ServerConnector.setName(String)
WebAppContext
,声明一组采取命名的虚拟主机语法虚拟主机"@{name}"
,其中{name}
与您为连接器选择的相同。 (注:没有 “@” 符号一个虚拟主机是基于主机名传统的虚拟主机)就像这个...
package jetty.demo;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.webapp.WebAppContext;
public class ConnectorSpecificContexts
{
public static void main(String[] args)
{
Server server = new Server();
ServerConnector connectorA = new ServerConnector(server);
connectorA.setPort(8080);
connectorA.setName("connA"); // connector name A
ServerConnector connectorB = new ServerConnector(server);
connectorB.setPort(9090);
connectorB.setName("connB"); // connector name B
server.addConnector(connectorA);
server.addConnector(connectorB);
// Basic handler collection
HandlerCollection contexts = new HandlerCollection();
server.setHandler(contexts);
// WebApp A
WebAppContext appA = new WebAppContext();
appA.setContextPath("/a");
appA.setWar("./webapps/webapp-a.war");
appA.setVirtualHosts(new String[]{"@connA"}); // connector name A
contexts.addHandler(appA);
// WebApp B
WebAppContext appB = new WebAppContext();
appB.setContextPath("/b");
appB.setWar("./webapps/webapp-b.war");
appB.setVirtualHosts(new String[]{"@connB"}); // connector name B
contexts.addHandler(appB);
try
{
server.start(); // start server thread
server.join(); // wait for server thread to end
}
catch (Throwable t)
{
t.printStackTrace(System.err);
}
}
}
你只是大雅。解决了我的问题。 :) –
我还有一个问题,我有最多500个应用程序每个应用程序可能共享相同的端口或创建新的端口,当我尝试使用50个应用程序时显示异常,如ThreadPool中的最大线程数不足:max = 200
I修正了上面的问题,但得到新问题, java.lang.OutOfMemoryError:PermGen空间 对于第38个war文件,我应该怎么做才能解决这个问题?请帮帮我。 –