Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2015-01-23 13:57:17 +0000
committerGreg Wilkins2015-01-23 13:57:17 +0000
commit934625176f6873b6c529ebacf3f21a058098a54e (patch)
tree0628d6af124b875ddb29379eb7ae2aa971e00bc5
parentd59887980d6948a95bfdcdb2c6e0decbce5c2287 (diff)
parentae47edb8a785aedc469482667d1aacdf2aefeae2 (diff)
downloadorg.eclipse.jetty.project-934625176f6873b6c529ebacf3f21a058098a54e.tar.gz
org.eclipse.jetty.project-934625176f6873b6c529ebacf3f21a058098a54e.tar.xz
org.eclipse.jetty.project-934625176f6873b6c529ebacf3f21a058098a54e.zip
Merge branch 'jetty-9.2.x' of ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project into jetty-9.2.x
-rw-r--r--jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java28
1 files changed, 18 insertions, 10 deletions
diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java
index cbd13dd291..07636d7bc2 100644
--- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java
+++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java
@@ -745,10 +745,27 @@ public class ServletHolder extends Holder<Servlet> implements UserIdentity.Scope
protected void prepare (Request baseRequest, ServletRequest request, ServletResponse response)
throws ServletException, UnavailableException
{
+ ensureInstance();
MultipartConfigElement mpce = ((Registration)getRegistration()).getMultipartConfig();
if (mpce != null)
baseRequest.setAttribute(Request.__MULTIPART_CONFIG_ELEMENT, mpce);
}
+
+ public synchronized Servlet ensureInstance()
+ throws ServletException, UnavailableException
+ {
+ if (_class==null)
+ throw new UnavailableException("Servlet Not Initialized");
+ Servlet servlet=_servlet;
+ if (!isStarted())
+ throw new UnavailableException("Servlet not initialized", -1);
+ if (_unavailable!=0 || (!_initOnStartup && servlet==null))
+ servlet=getServlet();
+ if (servlet==null)
+ throw new UnavailableException("Could not instantiate "+_class);
+
+ return servlet;
+ }
/* ------------------------------------------------------------ */
/** Service a request with this servlet.
@@ -769,16 +786,7 @@ public class ServletHolder extends Holder<Servlet> implements UserIdentity.Scope
if (_class==null)
throw new UnavailableException("Servlet Not Initialized");
- Servlet servlet=_servlet;
- synchronized(this)
- {
- if (!isStarted())
- throw new UnavailableException("Servlet not initialized", -1);
- if (_unavailable!=0 || (!_initOnStartup && servlet==null))
- servlet=getServlet();
- if (servlet==null)
- throw new UnavailableException("Could not instantiate "+_class);
- }
+ Servlet servlet = ensureInstance();
// Service the request
boolean servlet_error=true;

Back to the top