Mercurial Hosting > luan
comparison src/org/eclipse/jetty/server/Server.java @ 879:a3775d0c6985
remove ShutdownThread
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 04 Oct 2016 15:55:02 -0600 |
parents | 5f8a242392da |
children | 00b3bd6e0ada |
comparison
equal
deleted
inserted
replaced
878:5f8a242392da | 879:a3775d0c6985 |
---|---|
42 import org.eclipse.jetty.util.URIUtil; | 42 import org.eclipse.jetty.util.URIUtil; |
43 import org.eclipse.jetty.util.component.Destroyable; | 43 import org.eclipse.jetty.util.component.Destroyable; |
44 import org.eclipse.jetty.util.component.LifeCycle; | 44 import org.eclipse.jetty.util.component.LifeCycle; |
45 import org.slf4j.Logger; | 45 import org.slf4j.Logger; |
46 import org.slf4j.LoggerFactory; | 46 import org.slf4j.LoggerFactory; |
47 import org.eclipse.jetty.util.thread.ShutdownThread; | |
48 | 47 |
49 /* ------------------------------------------------------------ */ | 48 /* ------------------------------------------------------------ */ |
50 /** Jetty HTTP Servlet Server. | 49 /** Jetty HTTP Servlet Server. |
51 * This class is the main class for the Jetty HTTP Servlet server. | 50 * This class is the main class for the Jetty HTTP Servlet server. |
52 * It aggregates Connectors (HTTP request receivers) and request Handlers. | 51 * It aggregates Connectors (HTTP request receivers) and request Handlers. |
63 | 62 |
64 private final AttributesMap _attributes = new AttributesMap(); | 63 private final AttributesMap _attributes = new AttributesMap(); |
65 public final ThreadPoolExecutor threadPool; | 64 public final ThreadPoolExecutor threadPool; |
66 public final Connector connector; | 65 public final Connector connector; |
67 private int _graceful=0; | 66 private int _graceful=0; |
68 private boolean _stopAtShutdown; | |
69 private boolean _dumpAfterStart=false; | 67 private boolean _dumpAfterStart=false; |
70 private boolean _dumpBeforeStop=false; | 68 private boolean _dumpBeforeStop=false; |
71 private boolean _uncheckedPrintWriter=false; | 69 private boolean _uncheckedPrintWriter=false; |
72 | 70 |
73 | 71 |
91 public static String getVersion() | 89 public static String getVersion() |
92 { | 90 { |
93 return __version; | 91 return __version; |
94 } | 92 } |
95 | 93 |
96 /* ------------------------------------------------------------ */ | |
97 public boolean getStopAtShutdown() | |
98 { | |
99 return _stopAtShutdown; | |
100 } | |
101 | |
102 /* ------------------------------------------------------------ */ | |
103 public void setStopAtShutdown(boolean stop) | |
104 { | |
105 //if we now want to stop | |
106 if (stop) | |
107 { | |
108 //and we weren't stopping before | |
109 if (!_stopAtShutdown) | |
110 { | |
111 //only register to stop if we're already started (otherwise we'll do it in doStart()) | |
112 if (isStarted()) | |
113 ShutdownThread.register(this); | |
114 } | |
115 } | |
116 else | |
117 ShutdownThread.deregister(this); | |
118 | |
119 _stopAtShutdown=stop; | |
120 } | |
121 | |
122 /** | 94 /** |
123 * @return true if {@link #dumpStdErr()} is called after starting | 95 * @return true if {@link #dumpStdErr()} is called after starting |
124 */ | 96 */ |
125 public boolean isDumpAfterStart() | 97 public boolean isDumpAfterStart() |
126 { | 98 { |
155 | 127 |
156 /* ------------------------------------------------------------ */ | 128 /* ------------------------------------------------------------ */ |
157 @Override | 129 @Override |
158 protected void doStart() throws Exception | 130 protected void doStart() throws Exception |
159 { | 131 { |
160 if (getStopAtShutdown()) | |
161 { | |
162 ShutdownThread.register(this); | |
163 } | |
164 | |
165 ShutdownMonitor.getInstance().start(); // initialize | |
166 | |
167 LOG.info("jetty-"+__version); | 132 LOG.info("jetty-"+__version); |
168 HttpGenerator.setServerVersion(__version); | 133 HttpGenerator.setServerVersion(__version); |
169 | 134 |
170 MultiException mex=new MultiException(); | 135 MultiException mex=new MultiException(); |
171 | 136 |
222 threadPool.shutdownNow(); | 187 threadPool.shutdownNow(); |
223 | 188 |
224 try {super.doStop(); } catch(Throwable e) { mex.add(e);} | 189 try {super.doStop(); } catch(Throwable e) { mex.add(e);} |
225 | 190 |
226 mex.ifExceptionThrow(); | 191 mex.ifExceptionThrow(); |
227 | |
228 if (getStopAtShutdown()) | |
229 ShutdownThread.deregister(this); | |
230 } | 192 } |
231 | 193 |
232 /* ------------------------------------------------------------ */ | 194 /* ------------------------------------------------------------ */ |
233 /* Handle a request from a connection. | 195 /* Handle a request from a connection. |
234 * Called to handle a request on the connection when either the header has been received, | 196 * Called to handle a request on the connection when either the header has been received, |