0

我是javax.naming.NoInitialContextException从 Hibernate 的SessionFactory.buildSessionFactory()方法中得到的。这是因为我试图在容器之外运行一个测试用例。
我有代码可以引用在applicationContext.xml. 问题是我不知道在哪里实现本地数据源代码。
我不能把它放在里面,catch(NoInitialContextException)因为 SessionFactory 类在代码中很深,并且根据应用程序设计,抛出所有异常而不是捕获它们。 无论如何在点击该方法之前
找出是否存在?InitialContextbuildSessionFactory

4

1 回答 1

0

也许您可以在 上执行查找InitialContext以检查是否有SessionFactory,如下所述:http: //docs.jboss.org/jbossas/getting_started/v4/html/hibernate.html

try {
    InitialContext ctx = new InitialContext();
    ctx.lookup("java:/hibernate/SessionFactory");
catch (NamingException e) {
    //here you can assume that buildSessionFactory won't work
    ...
}
于 2013-04-01T16:03:51.380 回答