2013-02-28 2 views
2

나는 JBoss 7.1.1.Final을 사용합니다. 여기에는 신생 싱글 톤이 있습니다. 시작시에 나는 무언가를 초기화하고, 종료시에는 내 물건을 종료/정리합니다. 하지만 이제는 1 초 동안 내가 원하는대로 해고 할 수 있다는 것을 알았습니다! 1 초가 지나면 응용 프로그램이 사라지고 1 초가 실제 정리에 충분한 시간이되지 않습니다.JBoss의 종료 시간 초과?

코드 :

@Singleton 
@Startup 
public class ShutdownTest { 

    @PostConstruct 
    public void initialize() { 
    LOG.info("Initialization"); 
    } 

    @PreDestroy 
    public void terminate() { 
    for(;;) { 
     LOG.info("loop in terminate..."); 
     Tools.sleepQuietly(100); // just sleeps for 100 milliseconds 
    } 
    } 

} 

이 클래스는 시작시 initalization를보고하지 않습니다,하지만 난 10 배 출력을 얻을 종료시,이 후 보스가 죽었어요.

일부 PreDestroy 메소드가 여전히 실행 중일 때라도 JBoss가 스스로를 죽일 때까지이 시간을 어떻게 구성합니까?

현재 Eclipse에서 JBoss를 시작하고 중지합니다 (폴러는 웹 포트로 설정 됨).

답변

0

종료 이벤트 (JBoss/WildFly 팀의 this answer : Tomaz Cerar 기준)에서 JBoss 7에서이를 수행 할 방법이 없습니다.

Windows에서이 작업을 수행 할 수있는 방법이 없음을 확인할 수 있습니다 (Linux의 경우 그렇게 가정합니다).

서버를 종료하기 전에 응용 프로그램을 중단해도 작동하는 것으로 나타났습니다. 웹 콘솔에 로그온하고 런타임 (오른쪽 상단의 탭) -> 배포 관리 (메뉴) -> 응용 프로그램의 "사용 안 함"버튼으로 이동합니다.

WildFly 8에서는 시스템 종료를위한 "시간 초과"옵션이 제공됩니다. 사용법은 this post을 참조하십시오.

관련 문제