Java 在发生NoInitialContextException之前检查InitialContext是否存在
我从Hibernate的Java 在发生NoInitialContextException之前检查InitialContext是否存在,java,hibernate,servlets,Java,Hibernate,Servlets,我从Hibernate的SessionFactory.buildSessionFactory()方法中获得了javax.naming.NoInitialContextException。这是因为我试图在容器外部运行测试用例。 我有代码引用在applicationContext.xml中配置的本地数据源。问题是我不知道在哪里实现本地数据源代码。 我不能将它放在捕获(NoInitialContextException)中,因为SessionFactory类在代码中很深,根据应用程序设计,抛出所有未捕
SessionFactory.buildSessionFactory()
方法中获得了javax.naming.NoInitialContextException
。这是因为我试图在容器外部运行测试用例。我有代码引用在
applicationContext.xml
中配置的本地数据源。问题是我不知道在哪里实现本地数据源代码。我不能将它放在
捕获(NoInitialContextException)
中,因为SessionFactory类在代码中很深,根据应用程序设计,抛出所有未捕获的异常。
在点击
buildSessionFactory
方法之前,是否有任何方法来确定InitialContext
是否存在?也许您可以在InitialContext
上执行查找,以检查是否存在SessionFactory
,如下所述:
try {
InitialContext ctx = new InitialContext();
ctx.lookup("java:/hibernate/SessionFactory");
catch (NamingException e) {
//here you can assume that buildSessionFactory won't work
...
}