Мы хотим выполнять задания в кластерной среде WebLogic. Кварц (работает в кластерном режиме) используется для сохранения заданий, а WorkManager используется для создания потоков для выполнения заданий.
Однако первый экземпляр Quartz немедленно блокирует все задания, что не позволяет другому узлу / серверу выполнять параллельное выполнение.
Эта блокировка всех заданий благодаря LocalTaskExecutorThreadPool
public int blockForAvailableThreads() {
// The present implementation always returns 1, making Quartz (1.6)
// always schedule any tasks that it feels like scheduling.
// This could be made smarter for specific TaskExecutors,
// for example calling <code>getMaximumPoolSize() - getActiveCount()</code>
// on a <code>java.util.concurrent.ThreadPoolExecutor</code>.
return 1;
}
Кроме предоставления другой реализации этого класса, есть ли лучший способ выполнять параллельное выполнение заданий в кластерной среде с использованием Weblogic WorkManager?