什么是omnifaces JNDI.lockup没有为NamingException检查异常



我用JNDI.lookup()方法替换了所有JNDI查找,因为它看起来很方便,处理动态返回类型等。一切都很棒。。。但现在我注意到,以前必须捕获的已检查异常已不存在。

我认为这是因为如果JNDI变量不存在,但它不存在,它就会返回null。它现在只是抛出一个未检查的异常。

知道为什么吗?有没有一种方法可以只为不存在的变量返回null?

我在omnifaces网站上为此创建了一个bug:https://github.com/omnifaces/omnifaces/issues/141

不确定这是否是预期行为。

有没有一种方法可以只为不存在的变量返回null

它为NameNotFoundException执行此操作。问题不在OmniFaces中,而是在环境中,在您的特定案例中是GlassFish 4.1。它意外地将NameNotFoundException包裹在另一个NamingException中,从而导致底层NameNotFoundException滑过并绕过return null条件。

根据本注释,这已在Exceptions#is()实用程序方法的帮助下得到修复。它将在OmniFaces 2.2中提供。

相关内容

  • 没有找到相关文章

最新更新