gpt4 book ai didi

java - 春杰 :jdni throws exception with default value

转载 作者:行者123 更新时间:2023-11-30 04:40:15 25 4
gpt4 key购买 nike

我尝试使用带有默认值的 Spring jee 命名空间 JNDI 查找,但遇到了一些烦人的堆栈跟踪。我使用 Spring 3.1 和 tomcat 7 作为我的部署环境。有时 JNDI 变量可能未在 context.xml 中设置,因此我希望能够使用 jee:jndi 标记的默认值属性。默认值实际上有效,但是每次达到默认值时它都会在日志中抛出堆栈跟踪。以下是日志中的片段:

2012-09-17 08:39:21,099 [main] DEBUG org.springframework.jndi.JndiObjectFactoryBean - JNDI lookup failed - returning specified default object instead
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
...
2012-09-17 08:39:21,113 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Finished creating instance of bean 'coreURL'

我通过用于创建此 bean 的 spring 类进行了一些调试,并看到了 NoInitialContextException 被捕获的位置并触发它使用默认值。但是,我觉得如果有默认值,则不应将此堆栈跟踪打印到日志中。我的这个假设不正确吗?是否有一些设置可以用来消除此错误?这是我的 bean 的 spring 配置:

<jee:jndi-lookup id="coreURL" expected-type="java.lang.String" jndi-name="java:comp/env/my.prop" default-value="http://myserver.com/core"/>

最佳答案

org.springframework.jndi.JndiObjectFactoryBean的LOG LEVEL设置为INFO,那么你将看不到这个DEBUG信息。

关于java - 春杰 :jdni throws exception with default value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com