2009-04-02 6 views
1

현재 여러 개의 파일 (때때로 큰 파일)을 처리하는 Java의 batchjobs가 있습니다. 이러한 작업을 실행하는 데 약간의 시간이 걸릴 수 있습니다. 루프에서 계속 실행되는 Java Threads를 사용하여 이러한 파일을 JVM에서 직접 실행합니다. (파일을 처리 한 다음 잠시 기다리십시오).Bea Weblogic에서 일괄 처리 실행

저는 회사에서 일하면서 Weblogic 애플리케이션 서버에서 이러한 작업을 실행하려고합니다. 그게 더 나은 이유가 아니라 회사의 표준 플랫폼이기 때문입니다.

내가 볼 수있는 잠재적 인 문제는 BEA weblogic이 모든 스레드를 모니터링하고 기본값으로 10 분 이상 실행되는 스레드가 STUCK 스레드이며 잠재적으로 FAILED 상태의 서버로 이어질 수 있다고 말합니다.

BEA Weblogic에서 이것을 수행하는 가장 좋은 방법은 무엇입니까?

+0

weblogic에서 Quartz를 사용하게되었습니다. 이 잘 작동하고 STUCK 스레드를 제공하지 않습니다. – Edwin

답변

3

BEA Weblogic은 특정 시간에 대한 요청 스레드 만 모니터링합니다. 요청 처리 코드에 의해 생성 된 스레드의 경우에는 그렇지 않습니다. 우리는 OpenSymphony의 Quartz (스케줄러) 스케줄러를 사용하여 최대 3-4 시간이 걸리는 Weblogic 작업을 예약했습니다.

1

Weblogic 서버는 더 긴 스레드 실행 시간을 지원하고 오랜 작업을 위해 최적화 된 WorkManagers를 제공합니다 (일반적으로 오래된 ThreadPools 주변의 프레임 워크라고합니다). WorkManager의 경우 스레드가 걸렸을 가능성이 높은 것으로 간주 된 이후의 시간 인 MaxThreadStuckTime을 정의 할 수 있습니다.