1
2
3
4
5
6
7
8
9
10
11
12
13
14 package org.eclipse.jetty.embedded;
15
16 import org.eclipse.jetty.security.HashLoginService;
17 import org.eclipse.jetty.security.LoginService;
18 import org.eclipse.jetty.server.Connector;
19 import org.eclipse.jetty.server.Handler;
20 import org.eclipse.jetty.server.NCSARequestLog;
21 import org.eclipse.jetty.server.Server;
22 import org.eclipse.jetty.deploy.ContextDeployer;
23 import org.eclipse.jetty.deploy.WebAppDeployer;
24 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
25 import org.eclipse.jetty.server.handler.DefaultHandler;
26 import org.eclipse.jetty.server.handler.HandlerCollection;
27 import org.eclipse.jetty.server.handler.RequestLogHandler;
28 import org.eclipse.jetty.server.nio.SelectChannelConnector;
29 import org.eclipse.jetty.util.thread.QueuedThreadPool;
30
31 public class LikeJettyXml
32 {
33 public static void main(String[] args)
34 throws Exception
35 {
36 String jetty_home = System.getProperty("jetty.home","../jetty-distribution/target/distribution");
37
38 Server server = new Server();
39
40 QueuedThreadPool threadPool = new QueuedThreadPool();
41 threadPool.setMaxThreads(100);
42 server.setThreadPool(threadPool);
43
44 Connector connector=new SelectChannelConnector();
45 connector.setPort(8080);
46 connector.setMaxIdleTime(30000);
47 server.setConnectors(new Connector[]{connector});
48
49 HandlerCollection handlers = new HandlerCollection();
50 ContextHandlerCollection contexts = new ContextHandlerCollection();
51 RequestLogHandler requestLogHandler = new RequestLogHandler();
52 handlers.setHandlers(new Handler[]{contexts,new DefaultHandler(),requestLogHandler});
53 server.setHandler(handlers);
54
55 ContextDeployer deployer0 = new ContextDeployer();
56 deployer0.setContexts(contexts);
57 deployer0.setConfigurationDir(jetty_home+"/contexts");
58 deployer0.setScanInterval(1);
59 server.addBean(deployer0);
60
61 WebAppDeployer deployer1 = new WebAppDeployer();
62 deployer1.setContexts(contexts);
63 deployer1.setWebAppDir(jetty_home+"/webapps");
64 deployer1.setParentLoaderPriority(false);
65 deployer1.setExtract(true);
66 deployer1.setAllowDuplicates(false);
67 deployer1.setDefaultsDescriptor(jetty_home+"/etc/webdefault.xml");
68 server.addBean(deployer1);
69
70 HashLoginService login = new HashLoginService();
71 login.setName("Test Realm");
72 login.setConfig(jetty_home+"/etc/realm.properties");
73 server.addBean(login);
74
75 NCSARequestLog requestLog = new NCSARequestLog(jetty_home+"/logs/jetty-yyyy_mm_dd.log");
76 requestLog.setExtended(false);
77 requestLogHandler.setRequestLog(requestLog);
78
79 server.setStopAtShutdown(true);
80 server.setSendServerVersion(true);
81
82 server.start();
83 server.join();
84 }
85
86 }