-1
我有一个Tomcat的Web应用程序使用休眠配置,下面的代码默默地失败 在Configuration cfg = new Configuration();
Tomcat日志没有给出任何错误,除了我的调试语句正好在下面它失败(BEGIN STATIC !!!)。没有例外被抛出。Tomcat的webapp默默地失败
但是,当我将应用程序打包到一个jar中,并在main中运行相同的方法调用时,它成功无误。
public class Manager {
static Logger log = Logger.getLogger(Manager.class);
public static SessionFactory sessionFactory;
public static void main(String[]args){
System.out.println(getSessionFactory());
}
public static SessionFactory getSessionFactory(){
if(sessionFactory==null){
System.out.println("BEGIN STATIC!!!!!!!! ");
try{
Configuration cfg = new Configuration(); //FAILS SILENTLY
System.out.println("BEGIN STATIC1"); //NOT PRINTED THEREAFTER
cfg.configure("hibernate_xxx.xml");
System.out.println("BEGIN STATIC2");
cfg.addResource("xxx/persistence/xxx.xml");
System.out.println("BEGIN STATIC 3");
cfg.addResource("xxx/persistence/xxx.hbm.xml");
cfg.addResource("xxx/persistence/xxx.hbm.xml");
sessionFactory = cfg.buildSessionFactory();
}catch(Exception exp){
System.out.println("ERROR");
exp.printStackTrace(System.out);
}
System.out.println("END STATIC ");
}
return sessionFactory;
}
事实证明,日志记录到文件是滞后的,异常后来出现了一个Hibernate相关的异常。 – user217631 2010-01-10 09:09:36