2014-07-14 2 views
0

jboss를 중지하는 데 문제가 있습니다. 대부분의 경우 종료를 실행합니다. 그것은 몇 초 안에 서버를 정지시킵니다.JBoss 종료가 영원히 걸립니다

그러나 몇 번이나 멈추는 데는 시간이 걸리며 과정을 중단해야합니다. 다운 종료 Whenerver

긴 내가 스케줄러가 실행보고 로그에 나는 그 후

2014-07-14 19:19:29,124 INFO [org.springframework.scheduling.quartz.SchedulerFactoryBean] (JBoss Shutdown Hook) Shutting down Quartz Scheduler 
2014-07-14 19:19:29,124 INFO [org.quartz.core.QuartzScheduler] (JBoss Shutdown Hook) Scheduler scheduler_$_s608203at1vl07shutting down. 
2014-07-14 19:19:29,124 INFO [org.quartz.core.QuartzScheduler] (JBoss Shutdown Hook) Scheduler scheduler_$_s608203at1vl07 paused. 

아무것도를 참조합니다.

답변

1

Quartz 스케줄러 스레드와 스레드 풀의 모든 스레드가 데몬 스레드로 표시되어 JVM이 종료되지 않도록하십시오. 이 데몬 스레드로 스케줄러 스레드를 표시하는 것이 안전하지만 당신이 데몬 스레드로 스레드 풀 스레드를 표시하기 전에

org.quartz.scheduler.makeSchedulerThreadDaemon=true 

org.quartz.threadPool.makeThreadsDaemons=true 

, 당신은 생각해야한다 :

는 각각 다음과 같은 석영 속성을 설정하여 달성 할 수있다 왜냐하면 JVM이 종료 될 때 이러한 "작업자"스레드는 갑작스러운 중단을 원하지 않는 논리를 실행하는 중간에있을 수 있기 때문입니다. 이 경우 작업에 org.quartz.InterruptableJob 인터페이스를 구현하고 현재 실행중인 모든 작업 (이 목록은 org.quartz.Scheduler API에서 얻을 수 있음)을 인터럽트하는 응용 프로그램의 어딘가에 JVM 종료 후크를 구현할 수 있습니다.