Glassfish中的JNDI配置/查找
我无法在Glassfish中获得一些基本的JNDI配置。
我有我认为应该是一个简单的任务:在运行时,确定一个特定的属性是否设置为true。 我认为这是一个很好的JNDI应用程序,但似乎无法获得应用程序服务器和我的servlet代码之间的正确路径。
以下是我在Glassfish中配置属性的方法:
在我的servlet代码中,我试图通过以下方式查找该值:
Boolean enabled = (Boolean) ctx.lookup("java:global/arizona/quartz_enabled");
除了这条道路之外,我还尝试了以下尝试但没有成功:
我的应用程序被命名为“亚利桑那州”,但部署到根环境,如果这很重要。
我确信这只是一个简单的事情,可以找出适当的命名空间来到达这个属性,但我觉得我只是在黑暗中试图找到它。 有没有简单的方法来浏览Glassfish中的JNDI树?
查找在服务器中创建的JNDI资源时,它的JNDI名称就是您在服务器上输入的名称。 IE:
布尔启用=(布尔)ctx.lookup(“亚利桑那”);
关于JNDI名称的约定以及关于如何查看所有内容的一些示例代码,请参阅此页面:
http://www.javaworld.com/javaworld/jw-01-2000/jw-01-howto.html
在类似的情况下,我只是在实例化对象(此例中为InitialContext
)的地方放置一个断点,然后对其进行评估。 IntelliJ IDEA具有很好的评估器,不太确定其他的,可以说是较差的IDE。
顺便说一句,所有Java EE绑定的正确前缀是java:comp/env/
,例如java:comp/env/arizona/quartz_enabled
。
你可能也想看看这个资源。
我不能让它与javax.naming.InitialContext#lookup
一起工作,但是要注入资源
@Resource(name = "arizona/quartz_enabled")
private Boolean enabled;
工作得很好。
链接地址: http://www.djcxy.com/p/51399.html上一篇: JNDI configuration/lookup in Glassfish
下一篇: Help to resolve 'Out of memory' exception when calling DrawImage