Jsf omnifaces JNDI.lookup没有NamingException的选中异常是什么?
我用JNDI.lookup()方法替换了所有的JNDI查找,因为它看起来很方便,可以处理动态返回类型等。一切都很好……但现在我注意到,以前必须捕获的已检查异常已经不存在了 我假设这是因为如果JNDI变量不存在,但它不存在,它会返回null。它现在只是抛出一个未经检查的异常 知道为什么吗?有没有办法只为不存在的变量返回null 我在omnifaces网站上为此创建了一个bug: 不确定这是否是预期行为 有没有办法只为不存在的变量返回null 它为Jsf omnifaces JNDI.lookup没有NamingException的选中异常是什么?,jsf,glassfish,jndi,omnifaces,Jsf,Glassfish,Jndi,Omnifaces,我用JNDI.lookup()方法替换了所有的JNDI查找,因为它看起来很方便,可以处理动态返回类型等。一切都很好……但现在我注意到,以前必须捕获的已检查异常已经不存在了 我假设这是因为如果JNDI变量不存在,但它不存在,它会返回null。它现在只是抛出一个未经检查的异常 知道为什么吗?有没有办法只为不存在的变量返回null 我在omnifaces网站上为此创建了一个bug: 不确定这是否是预期行为 有没有办法只为不存在的变量返回null 它为NameNotFoundException执行此操作
NameNotFoundException
执行此操作。这里的问题不是全方位的,而是环境,在您的具体案例中是GlassFish 4.1。它意外地将NameNotFoundException
包装在另一个NamingException
中,从而导致底层NameNotFoundException
滑过并绕过返回null
条件
此问题已根据采用实用方法解决。它将在OmniFaces 2.2中提供