Pool Class — spring-boot Architecture
Architecture documentation for the Pool class in TaskExecutionProperties.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutionProperties.java lines 138–235
public static class Pool {
/**
* Queue capacity. An unbounded capacity does not increase the pool and therefore
* ignores the "max-size" property. Doesn't have an effect if virtual threads are
* enabled.
*/
private int queueCapacity = Integer.MAX_VALUE;
/**
* Core number of threads. Doesn't have an effect if virtual threads are enabled.
*/
private int coreSize = 8;
/**
* Maximum allowed number of threads. If tasks are filling up the queue, the pool
* can expand up to that size to accommodate the load. Ignored if the queue is
* unbounded. Doesn't have an effect if virtual threads are enabled.
*/
private int maxSize = Integer.MAX_VALUE;
/**
* Whether core threads are allowed to time out. This enables dynamic growing and
* shrinking of the pool. Doesn't have an effect if virtual threads are enabled.
*/
private boolean allowCoreThreadTimeout = true;
/**
* Time limit for which threads may remain idle before being terminated. Doesn't
* have an effect if virtual threads are enabled.
*/
private Duration keepAlive = Duration.ofSeconds(60);
private final Shutdown shutdown = new Shutdown();
public int getQueueCapacity() {
return this.queueCapacity;
}
public void setQueueCapacity(int queueCapacity) {
this.queueCapacity = queueCapacity;
}
public int getCoreSize() {
return this.coreSize;
}
public void setCoreSize(int coreSize) {
this.coreSize = coreSize;
}
public int getMaxSize() {
return this.maxSize;
}
public void setMaxSize(int maxSize) {
this.maxSize = maxSize;
}
public boolean isAllowCoreThreadTimeout() {
return this.allowCoreThreadTimeout;
}
public void setAllowCoreThreadTimeout(boolean allowCoreThreadTimeout) {
this.allowCoreThreadTimeout = allowCoreThreadTimeout;
}
public Duration getKeepAlive() {
return this.keepAlive;
}
public void setKeepAlive(Duration keepAlive) {
this.keepAlive = keepAlive;
}
public Shutdown getShutdown() {
return this.shutdown;
}
public static class Shutdown {
/**
* Whether to accept further tasks after the application context close phase
* has begun.
*/
private boolean acceptTasksAfterContextClose;
public boolean isAcceptTasksAfterContextClose() {
return this.acceptTasksAfterContextClose;
}
public void setAcceptTasksAfterContextClose(boolean acceptTasksAfterContextClose) {
this.acceptTasksAfterContextClose = acceptTasksAfterContextClose;
}
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free