在play框架中捕获DB down异常

时间:2014-12-04 15:05:40

标签: playframework ebean playframework-2.3

我希望在数据库关闭或不存在时处理数据库错误,以捕获此错误以使应用程序不会崩溃并使应用程序继续运行,即使数据库关闭, DB关闭时出错:

[error] c.j.b.h.Abs​​tractConnectionHook - 无法获取与jdbc的连接:sqlite:db / dev.db休眠1000ms并再次尝试。尝试离开:4。异常:null.Message:路径到' db / dev.db':' / home / madian / workspace / mom / src / mom / db'不存在

1 个答案:

答案 0 :(得分:0)

您可以在app文件夹中的Global.java文件中处理该错误

将Global.java放在app文件夹中的文件就像这样

Global.java文件

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);
    }


}

在onError方法中,您将从应用程序接收Throwable对象并可以处理它。