/** * Executes the given task, within a concurrency throttle if configured (through the superclass's * settings). * * <p>Executes urgent tasks (with 'immediate' timeout) directly, bypassing the concurrency * throttle (if active). All other tasks are subject to throttling. * * @see #TIMEOUT_IMMEDIATE * @see #doExecute(Runnable) */ @Override public void execute(Runnable task, long startTimeout) { Assert.notNull(task, "Runnable must not be null"); if (isThrottleActive() && startTimeout > TIMEOUT_IMMEDIATE) { this.concurrencyThrottle.beforeAccess(); doExecute(new ConcurrencyThrottlingRunnable(task)); } else { doExecute(task); } }
public MultipartHttpServletRequest resolveMultipart(final HttpServletRequest request) throws MultipartException { Assert.notNull(request, "Request must not be null"); if (this.resolveLazily) { return new DefaultMultipartHttpServletRequest(request) { protected void initializeMultipart() { MultipartParsingResult parsingResult = parseRequest(request); setMultipartFiles(parsingResult.getMultipartFiles()); setMultipartParameters(parsingResult.getMultipartParameters()); } }; } else { MultipartParsingResult parsingResult = parseRequest(request); return new DefaultMultipartHttpServletRequest( request, parsingResult.getMultipartFiles(), parsingResult.getMultipartParameters()); } }
/** * Find a custom WebApplicationContext for this web application. * * @param sc ServletContext to find the web application context for * @param attrName the name of the ServletContext attribute to look for * @return the desired WebApplicationContext for this web app, or <code>null</code> if none */ public static WebApplicationContext getWebApplicationContext(ServletContext sc, String attrName) { Assert.notNull(sc, "ServletContext must not be null"); Object attr = sc.getAttribute(attrName); if (attr == null) { return DispatchServlet.webApplicationContext; } if (attr instanceof RuntimeException) { throw (RuntimeException) attr; } if (attr instanceof Error) { throw (Error) attr; } if (attr instanceof Exception) { IllegalStateException ex = new IllegalStateException(); ex.initCause((Exception) attr); throw ex; } if (!(attr instanceof WebApplicationContext)) { throw new IllegalStateException( "Context attribute is not of type WebApplicationContext: " + attr); } return (WebApplicationContext) attr; }
/** * Set the {@link JRExporter} implementation <code>Class</code> to use. Throws * {@link IllegalArgumentException} if the <code>Class</code> doesn't implement * {@link JRExporter}. Required setting, as it does not have a default. */ public void setExporterClass(Class<? extends JRExporter> exporterClass) { Assert.isAssignable(JRExporter.class, exporterClass); this.exporterClass = exporterClass; }