# Class DynamicSizedSchedulerImpl

java.lang.Object
java.util.concurrent.AbstractExecutorService
java.util.concurrent.ThreadPoolExecutor
java.util.concurrent.ScheduledThreadPoolExecutor
org.mariadb.jdbc.internal.util.scheduler.DynamicSizedSchedulerImpl

All Implemented Interfaces:
  `AutoCloseable, Executor, ExecutorService, ScheduledExecutorService, DynamicSizedSchedulerInterface`

public class DynamicSizedSchedulerImpl extends ScheduledThreadPoolExecutor implements DynamicSizedSchedulerInterface

## Nested Class Summary

### Nested classes/interfaces inherited from class ThreadPoolExecutor

`ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy`

## Constructor Summary

Constructors
Constructor
Description
`DynamicSizedSchedulerImpl(int corePoolSize, String poolName, int maximumPoolSize)`
Initialize a scheduler with dynamic pool size.

## Method Summary

Modifier and Type
Method
Description
`void`
`setPoolSize(int newSize)`
Update the pool thread count with this new value.

### Methods inherited from class ScheduledThreadPoolExecutor

`decorateTask, decorateTask, execute, getContinueExistingPeriodicTasksAfterShutdownPolicy, getExecuteExistingDelayedTasksAfterShutdownPolicy, getQueue, getRemoveOnCancelPolicy, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, setContinueExistingPeriodicTasksAfterShutdownPolicy, setExecuteExistingDelayedTasksAfterShutdownPolicy, setRemoveOnCancelPolicy, shutdown, shutdownNow, submit, submit, submit`

### Methods inherited from class ThreadPoolExecutor

`afterExecute, allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, beforeExecute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, terminated, toString`

### Methods inherited from class AbstractExecutorService

`invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor`

### Methods inherited from class Object

`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface Executor

`execute`

### Methods inherited from interface ExecutorService

`awaitTermination, close, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated, shutdown, shutdownNow, submit, submit, submit`

### Methods inherited from interface ScheduledExecutorService

`schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay`

## Constructor Details

### DynamicSizedSchedulerImpl

public DynamicSizedSchedulerImpl(int corePoolSize, String poolName, int maximumPoolSize)
Initialize a scheduler with dynamic pool size.

Parameters:
  `corePoolSize` - initial Core pool size
  `poolName` - name of pool to identify threads
  `maximumPoolSize` - maximum pool size

## Method Details

### setPoolSize

public void setPoolSize(int newSize)
Description copied from interface: `DynamicSizedSchedulerInterface`
Update the pool thread count with this new value.

Specified by:
  `setPoolSize` in interface `DynamicSizedSchedulerInterface`
Parameters:
  `newSize` - New pool size that is superior to 0