2014-12-04 12 views
2

DB가 다운되었거나 존재하지 않을 때 DB 오류를 처리하여 응용 프로그램을 중단시키지 않고 응용 프로그램이 DB가 다운 된 상태로 유지되도록하려면이 오류를 catch하려면 오류가 발생합니다. down :playframework에서 DB 다운 예외 캐치

[오류] cjbhAbstractConnectionHook - jdbc : sqlite : db/dev.db에 대한 연결을 얻지 못했습니다. 1000ms 동안 잠자기 후 다시 시도하십시오. 시도가 남았습니다 : 4. 예외 : null.Message : 'db/dev.db'경로 : '/ home/madian/workspace/mom/src/mom/db'가 존재하지 않습니다.

+0

'Global' 클래스에서'onRequest'를 오버라이드하고이 예외를 잡을 수 있습니다. – c4k

답변

0

응용 프로그램 폴더에 Global.java 파일

은에서의 Throwable 객체를 받게됩니다의 OnError 방법에

import play.Application; 
import play.GlobalSettings; 
import play.libs.F.Promise; 
import play.mvc.Result; 
import play.mvc.Http.RequestHeader; 


public class Global extends GlobalSettings { 

    @Override 
    public void onStart(Application arg0) { 
     // TODO Auto-generated method stub 
     super.onStart(arg0); 
    } 

    @Override 
    public void onStop(Application arg0) { 
     // TODO Auto-generated method stub 
     super.onStop(arg0); 
    } 
    @Override 
    public Promise<Result> onBadRequest(RequestHeader arg0, String arg1) { 
     // TODO Auto-generated method stub 
     return super.onBadRequest(arg0, arg1); 
    } 

    @Override 
    public Promise<Result> onError(RequestHeader arg0, Throwable arg1) { 
     // TODO Auto-generated method stub 
     return super.onError(arg0, arg1); 
    } 


} 

파일이

Global.java 같은 응용 프로그램 폴더에 Global.java 파일을 넣어 응용 프로그램 및 그것을 처리 할 수 ​​있습니다.