@Signature public int maxThreads() { return threadPool.getMaxThreads(); }
@Test public void testNumThreads() { // Just make sure the injector stuff for this test is actually working. Assert.assertEquals( 10, ((QueuedThreadPool) server.getThreadPool()).getMaxThreads() ); }
private void createWebServer(final Builder b) throws IOException { // Create the thread pool for the web server to handle HTTP requests QueuedThreadPool threadPool = new QueuedThreadPool(); if (b.maxThreads > 0) { threadPool.setMaxThreads(b.maxThreads); } threadPool.setDaemon(true); threadPool.setName(b.name + "-web"); this.webServer = new Server(threadPool); this.appDir = getWebAppsPath(b.name); this.webAppContext = createWebAppContext(b); if (b.useSPNEGO) { // Secure the web server with kerberos setupSpnegoFilter(b); } if (b.enableCORS) { setupCORSFilter(b); } initializeWebServer(b, threadPool.getMaxThreads()); }
@Override public String toString() { return String.format("%s[%s]@%x{%s,%d<=%d<=%d,i=%d,q=%d}[%s]", getClass().getSimpleName(), _name, hashCode(), getState(), getMinThreads(), getThreads(), getMaxThreads(), getIdleThreads(), _jobs.size(), _tryExecutor); }
@Override public void dump(Appendable out, String indent) throws IOException List<Object> threads = new ArrayList<>(getMaxThreads()); for (final Thread thread : _threads)
LOG.warn("Unexpected thread death: {} in {}", this, QueuedThreadPool.this); if (_threadsStarted.decrementAndGet() < getMaxThreads()) startThreads(1);
/** * <p>Returns whether this thread pool is low on threads.</p> * <p>The current formula is:</p> * <pre> * maxThreads - threads + idleThreads - queueSize <= lowThreadsThreshold * </pre> * * @return whether the pool is low on threads * @see #getLowThreadsThreshold() */ @Override @ManagedAttribute(value = "thread pool is low on threads", readonly = true) public boolean isLowOnThreads() { return getMaxThreads() - getThreads() + getIdleThreads() - getQueueSize() <= getLowThreadsThreshold(); }
/** * get the max number of threads on the pool * @return */ @Override public int getMaxThreads() { return threadPool.getMaxThreads(); }
@Override public long getHttpServerThreadPoolMaxSize() throws MonitoringServiceException { return this.httpThreadPool.getMaxThreads(); }
@Managed(description = "maximum number of threads in the pool") public int getMaxThreads() { return threadPool.getMaxThreads(); }
@Override public void detect(final Long instantValue) { if (this.httpThreadPool.getMaxThreads() - instantValue == 0) { // No more threads is available this.httpServerThreadPoolExhaustedDefectCreator.createAndSend(); } }
@Override public String toString() { return _name+"{"+getMinThreads()+"<="+getIdleThreads()+"<="+getThreads()+"/"+getMaxThreads()+","+(_jobs==null?-1:_jobs.size())+"}"; }
@Override public String toString() { return _name+"{"+getMinThreads()+"<="+getIdleThreads()+"<="+getThreads()+"/"+getMaxThreads()+","+(_jobs==null?-1:_jobs.size())+"}"; }
@Override public String toString() { return _name+"{"+getMinThreads()+"<="+getIdleThreads()+"<="+getThreads()+"/"+getMaxThreads()+","+(_jobs==null?-1:_jobs.size())+"}"; }
@Override public String toString() { return _name+"{"+getMinThreads()+"<="+getIdleThreads()+"<="+getThreads()+"/"+getMaxThreads()+","+(_jobs==null?-1:_jobs.size())+"}"; }
@Override public String toString() { return String.format("%s{%s,%d<=%d<=%d,i=%d,q=%d}", _name, getState(), getMinThreads(), getThreads(), getMaxThreads(), getIdleThreads(), (_jobs == null ? -1 : _jobs.size())); }
@Override public String toString() { return String.format("%s{%s,%d<=%d<=%d,i=%d,q=%d}", _name, getState(), getMinThreads(), getThreads(), getMaxThreads(), getIdleThreads(), (_jobs == null ? -1 : _jobs.size())); }
@Override public String toString() { return String.format("%s{%s,%d<=%d<=%d,i=%d,q=%d}", _name, getState(), getMinThreads(), getThreads(), getMaxThreads(), getIdleThreads(), (_jobs == null ? -1 : _jobs.size())); }
@Gauge public int getFreeThreadCount() { return (executor.getMaxThreads() - executor.getThreads()) + executor.getIdleThreads() ; }
@Test public void testPoolCustomizations() throws Exception { QueuedThreadPool qtp = ej.getThreadPool(); assertEquals(13, qtp.getMinThreads()); assertEquals(13, qtp.getMaxThreads()); }