2012-11-15 2 views
0

내 war 파일을 배포 할 때 config를 데이터베이스에서 싱글 톤으로로드합니다. 필요한 구성 변수가 데이터베이스에없는 경우 응용 프로그램을 중지하고 싶습니다.config로드가 실패 할 경우 배포를 중지하는 방법

Java에서는 System.exit (1)을 사용하지만 올바르게 이해하면 glassfish 인 JVM이 삭제됩니다.

어떻게 애플리케이션을 종료 할 수 있습니까?

public class RequiredConfigMissingException extends ServletException 

:

답변

1

는 재정 서블릿의 Servlet.init 방법 : 실종 필요한 설정의 경우

@Override 
public void init(ServletConfig config) throws ServletException { 
    super.init(ServletConfig); 

//load config from database, and eventually launch an exception of type ServletException 
// for example throw new RequiredConfigMissingException(...); 
} 

및 형식 ServletException을의 예외를 발사는 (당신이 그것을 확장하는 경우가 더 낫다) Application Server는 웹 응용 프로그램을로드하지 않고 응용 프로그램 서버 로그에 오류를 작성하여 배포를 중지합니다.

+0

불행히도 서블릿이 아니라 웹 서비스입니다. 비슷한 것이 있는지 확실하지 않은가요? – likenoother

+1

나는 그가 당신이 시동 서블릿에서해야한다는 것을 의미한다고 생각한다. 시작 서블릿이 없다면 서블릿을 생성하고 web.xml의 시작 서블릿으로 설정하십시오. –

+0

웹 컨텍스트에 대한 web.xml 파일을 게시 할 수 있습니까? –

1

ExceptionInInitializerError를 throw하여 필요한 결과를 얻을 수있었습니다. 예외는 @Startup 싱글 톤의 @PostConstruct 메소드 내부에서 발생하므로 배포를 중지합니다.

나는 web.xml 파일을 살펴볼 것이다. 모든 도움에 감사드립니다.

관련 문제