服务启动时,druid数据库连接失败时,如何能让tomcat容器正常启动,应用正常启动

ActiveRecordPlugin arp2=null;  

String driver=getProperty("oracle.driver");  

        String url=getProperty("oracle.url"); 

        String username=getProperty("oracle.username"); 

        String password=getProperty("oracle.password");

    

DruidPlugin druid = new DruidPlugin(url,username,password,driver);

me.add(druid);

arp2=new ActiveRecordPlugin("db2",druid);//设置数据库方言 

arp2.setDialect(new OracleDialect()); 

arp2.setContainerFactory(new CaseInsensitiveContainerFactory());//忽略大小写  

//me.add(new EhCachePlugin()); 

//arp2.addMapping("users", "id",Users.class);  

    me.add(arp2);  


本地没有Oracle,服务器上的,有没办法让它在本地编译通过,而不影响项目正常运行


评论区

要输就输给追求

2018-05-31 10:37

没有数据库咋开发

JFinal

2018-05-31 12:34

删掉 me.add(druid); 与 me.add(arp2); 将这两行代码改成下面两行:
druid.start();
arp2.start();

也就是手动 start() 插件,避免让 jfinal 启动插件,从而避免 jfinal 在检测到插件启动有异常时终止 tomcat 启动

最后,将 druid.start() 与 arp2.start() 方法被包含在 try catch 之中,避免异常向外继续抛出即可

JFinal

2018-05-31 12:35

提醒,此举对于程序来说并不健壮,启动时的异常被忽略以后,在生产环境下如果配置有错误,可能会有麻烦

码出天下

2018-05-31 20:08

@JFinal 谢谢,明白了

洛小风

2020-02-27 15:44

666,刚解决了我的大问题.666

热门反馈

扫码入社