0
클러스터 된 WebLogic 환경에서 작업을 실행하려고합니다. Quartz (클러스터 모드에서 실행)는 작업을 지속하는 데 사용되고 WorkManager는 작업을 실행하기위한 스레드를 만드는 데 사용됩니다.클러스터 환경에서 Spring이있는 Quartz + 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;
}
다른 덕분하는 웹 로직 WorkManager를 사용하여 클러스터 환경에서 작업의 병렬 실행을 할 수있는 더 좋은 방법이 무엇입니까?