JFinal启动时异常的捕获问题

代码大概如下

@override

public void configPlugin(Plugins me) {

        for(int i=0; i<10; i++){

                try {

                     循环初始化多个数据源,指定不同的configName

                }   catch (Exception e) {

                      System.err.println("数据源异常");

                        continue;

                }

        }

}

遇到的问题:

1、写continue的意思是遇到注册失败的时候就跳过,继续注册下一个,这样写有没有问题。

2、遇到数据源注册失败时,报 init datasource error,但并没有捕获到这个异常。

3、如果想把这个异常信息记录到数据库中去,是不是在 afterJfinalStart()方法中实现逻辑。

评论区

JFinal

2018-03-26 14:12

configPlugin 仅仅是 me.add(...) 添加而且,具体的初始化操作并不在这里

如果你只是数据源注册的话, 可以继承一下 ActiveRecordPlugin, 覆盖掉父类的 start() 方法,大致如下:
public void start() {
try {
super.start();
} catch(...) {
...
}
}

JFinal

2018-03-26 14:14

还有一个办法是在 configPlugin 中自己手动调用 start() 方法
public void configPlugin(Plugins me) {
try {
arp.start();
}
catch(...) {
...
}
}

注意相关的 DruidPlugin 也需要这样调用,一般来说,在 DruidPLugin 启动失败后,后而后 arp 就可以放弃启动了

热门反馈

扫码入社