我从Hibernate的javax.naming.NoInitialContextException
方法获得SessionFactory.buildSessionFactory()
。这是因为我试图在容器外运行一个测试用例
我有代码来引用applicationContext.xml
中配置的本地数据源。问题是我不知道在哪里实现本地数据源代码
我不能把它放在catch(NoInitialContextException)
里面,因为SessionFactory类深入代码中,并且根据应用程序设计,抛出所有异常都没有捕获它们。
在找到InitialContext
方法之前,有没有找出buildSessionFactory
是否存在?
答案 0 :(得分: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
...
}