Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在发生NoInitialContextException之前检查InitialContext是否存在_Java_Hibernate_Servlets - Fatal编程技术网

Java 在发生NoInitialContextException之前检查InitialContext是否存在

Java 在发生NoInitialContextException之前检查InitialContext是否存在,java,hibernate,servlets,Java,Hibernate,Servlets,我从Hibernate的SessionFactory.buildSessionFactory()方法中获得了javax.naming.NoInitialContextException。这是因为我试图在容器外部运行测试用例。 我有代码引用在applicationContext.xml中配置的本地数据源。问题是我不知道在哪里实现本地数据源代码。 我不能将它放在捕获(NoInitialContextException)中,因为SessionFactory类在代码中很深,根据应用程序设计,抛出所有未捕

我从Hibernate的
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
    ...
}