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.server.ssl.SslSelectChannelConnector;
30 import org.eclipse.jetty.util.thread.QueuedThreadPool;
31
32 public class LikeJettyXml
33 {
34 public static void main(String[] args)
35 throws Exception
36 {
37 String jetty_home = System.getProperty("jetty.home","../jetty-distribution/target/distribution");
38 System.setProperty("jetty.home",jetty_home);
39
40 Server server = new Server();
41
42 QueuedThreadPool threadPool = new QueuedThreadPool();
43 threadPool.setMaxThreads(100);
44 server.setThreadPool(threadPool);
45
46 Connector connector=new SelectChannelConnector();
47 connector.setPort(8080);
48 connector.setMaxIdleTime(30000);
49 server.setConnectors(new Connector[]{connector});
50
51 SslSelectChannelConnector ssl_connector=new SslSelectChannelConnector();
52 ssl_connector.setPort(8443);
53 ssl_connector.setKeystore(jetty_home+"/etc/keystore");
54 ssl_connector.setPassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4");
55 ssl_connector.setKeyPassword("OBF:1u2u1wml1z7s1z7a1wnl1u2g");
56 ssl_connector.setTruststore(jetty_home+"/etc/keystore");
57 ssl_connector.setTrustPassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4");
58 server.addConnector(ssl_connector);
59
60 HandlerCollection handlers = new HandlerCollection();
61 ContextHandlerCollection contexts = new ContextHandlerCollection();
62 RequestLogHandler requestLogHandler = new RequestLogHandler();
63 handlers.setHandlers(new Handler[]{contexts,new DefaultHandler(),requestLogHandler});
64 server.setHandler(handlers);
65
66 ContextDeployer deployer0 = new ContextDeployer();
67 deployer0.setContexts(contexts);
68 deployer0.setConfigurationDir(jetty_home+"/contexts");
69 deployer0.setScanInterval(1);
70 server.addBean(deployer0);
71
72 WebAppDeployer deployer1 = new WebAppDeployer();
73 deployer1.setContexts(contexts);
74 deployer1.setWebAppDir(jetty_home+"/webapps");
75 deployer1.setParentLoaderPriority(false);
76 deployer1.setExtract(true);
77 deployer1.setAllowDuplicates(false);
78 deployer1.setDefaultsDescriptor(jetty_home+"/etc/webdefault.xml");
79 server.addBean(deployer1);
80
81 HashLoginService login = new HashLoginService();
82 login.setName("Test Realm");
83 login.setConfig(jetty_home+"/etc/realm.properties");
84 server.addBean(login);
85
86 NCSARequestLog requestLog = new NCSARequestLog(jetty_home+"/logs/jetty-yyyy_mm_dd.log");
87 requestLog.setExtended(false);
88 requestLogHandler.setRequestLog(requestLog);
89
90 server.setStopAtShutdown(true);
91 server.setSendServerVersion(true);
92
93 server.start();
94 server.join();
95 }
96
97 }