У меня постоянно заканчиваются соединения с базой данных с использованием DataSource, Spring и Quartz.Как видно из приведенного ниже, максимальное число элементов TaskExecutor равно 30. Итак, является ли максимальное число подключений, которое будет использовать моя установка?
При corePoolSize = 10 моя установка постоянно удерживает 10 подключений к базе данных?
Я использую Spring TaskExecutor, который я создаю вот так и регистрируюсь в Spring SchedulerFactoryBean.
Я создаю TaskExecutor следующим образом:
public TaskExecutor schedulerTaskExecutor() {
int corePoolSize = 10;
int maxPoolSize = 30;
long keepAliveTime = 30000;
int internalQueueCapacity = 1000;
boolean allowCoreThreadTimeOut = true;
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(
corePoolSize, // core pool size
maxPoolSize, // max pool size
keepAliveTime,
TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>(internalQueueCapacity)) ;
threadPool.allowCoreThreadTimeOut(allowCoreThreadTimeOut);
NamedThreadFactory threadFactory = new NamedThreadFactory("SCHEDULER-");
threadPool.setThreadFactory(threadFactory);
return new TaskExecutorAdapter(threadPool);
}