package org.exitsoft.common.unit;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;
/**
* 创建Jetty Server的工厂类.
*
* @author vincent
*/
public class JettyFactory {
/**
* 创建用于开发运行调试的Jetty Server, 以src/main/webapp为Web应用目录.
*/
public static Server buildNormalServer(int port, String contextPath) {
Server server = new Server(port);
WebAppContext webContext = new WebAppContext("src/main/webapp", contextPath);
webContext.setClassLoader(Thread.currentThread().getContextClassLoader());
server.setHandler(webContext);
server.setStopAtShutdown(true);
return server;
}
/**
* 创建用于Functional Test的Jetty Server:
* 1.以src/main/webapp为Web应用目录.
* 2.以test/resources/web.xml指向applicationContext-test.xml创建测试环境.
*/
public static Server buildTestServer(int port, String contextPath) {
Server server = buildNormalServer(port, contextPath);
WebAppContext appContext = (WebAppContext) server.getHandler();
appContext.setDescriptor("src/test/resources/web.xml");
return server;
}
}