在播放框架中捕获数据库异常 [英] Catch DB down exception in playframework

查看:101
本文介绍了在播放框架中捕获数据库异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在数据库关闭或不存在时处理数据库错误,以捕获此错误,以使应用程序不崩溃并使应用程序即使数据库关闭也可以继续运行, DB关闭时错误增加:

I want to handle DB errors when DB are down or not exists,to catch this error in order to make application not crashing and make application keep running even the DB down, error raise when DB is down:

[错误] 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"不存在

[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection to jdbc:sqlite:db/dev.db Sleeping for 1000ms and trying again. Attempts left: 4. Exception: null.Message:path to 'db/dev.db': '/home/madian/workspace/mom/src/mom/db' does not exist

推荐答案

您可以在应用程序文件夹中的Global.java文件中处理该错误

That Error you can handle in Global.java file in app folder

将这样一个文件Global.java放入应用程序文件夹中

put a file which Global.java in app folder like this

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对象并可以对其进行处理.

in onError method you will receive the Throwable object from the application and can handle it.

这篇关于在播放框架中捕获数据库异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆