Index: java/org/apache/catalina/core/StandardThreadExecutor.java =================================================================== --- java/org/apache/catalina/core/StandardThreadExecutor.java (revision 933886) +++ java/org/apache/catalina/core/StandardThreadExecutor.java (working copy) @@ -49,6 +49,8 @@ protected String name; + protected boolean prestartminSpareThreads = false; + private LifecycleSupport lifecycle = new LifecycleSupport(this); // ---------------------------------------------- Constructors public StandardThreadExecutor() { @@ -64,6 +66,9 @@ TaskThreadFactory tf = new TaskThreadFactory(namePrefix); lifecycle.fireLifecycleEvent(START_EVENT, null); executor = new ThreadPoolExecutor(getMinSpareThreads(), getMaxThreads(), maxIdleTime, TimeUnit.MILLISECONDS,taskqueue, tf); + if (prestartminSpareThreads) { + executor.prestartAllCoreThreads(); + } taskqueue.setParent( (ThreadPoolExecutor) executor); lifecycle.fireLifecycleEvent(AFTER_START_EVENT, null); } @@ -116,6 +121,10 @@ return name; } + public boolean isPrestartminSpareThreads() { + + return prestartminSpareThreads; + } public void setThreadPriority(int threadPriority) { this.threadPriority = threadPriority; } @@ -152,6 +161,10 @@ public void setName(String name) { this.name = name; } + + public void setPrestartminSpareThreads(boolean prestartminSpareThreads) { + this.prestartminSpareThreads = prestartminSpareThreads; + } /** * Add a LifecycleEvent listener to this component.